Foxtable(狐表)用户栏目专家坐堂 → [求助]关于平均分配以及设置


  共有2070人关注过本帖树形打印复制链接

主题:[求助]关于平均分配以及设置

帅哥哟,离线,有人找我吗?
zto001
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1465 积分:10403 威望:0 精华:0 注册:2018/10/16 11:42:00
[求助]关于平均分配以及设置  发帖心情 Post By:2019/4/14 9:59:00 [只看该作者]

有一列是处理人,我需要提交时平均分配给相应人。
如何多端提交时自动、平均分配。
如何在数据表内添加处理人进行设置需要分配的人?

我目前是这样分配的
Select Case _fp Mod 2 
   Case 0
r("处理人")= "处理人1"
_fp = _fp+1
    Case Else
r("处理人")= "处理人2"
_fp = _fp+1
End Select

但这样有个问题就是如果是多端添加分配,分配不均,前面的分配的多后面的分配少
并且如果想增加处理人,需要重新写代码。
能不能做一个数据表,里面添加需要分配的人
该怎么写代码呢?

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2019/4/14 10:16:00 [只看该作者]

分组统计每一个人的个数

 

http://www.foxtable.com/webhelp/scr/0158.htm

 

获取个数最少的那一个,进行分配


 回到顶部
帅哥哟,离线,有人找我吗?
zto001
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1465 积分:10403 威望:0 精华:0 注册:2018/10/16 11:42:00
  发帖心情 Post By:2019/4/14 10:24:00 [只看该作者]

有这么几个问题
1、每次都要生成临时表统计很麻烦。
2、如果有人休息,数量自然会少,会都分配给他。
3、不方便增加删除处理人
[此贴子已经被作者于2019/4/14 10:27:34编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
zto001
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1465 积分:10403 威望:0 精华:0 注册:2018/10/16 11:42:00
  发帖心情 Post By:2019/4/14 10:44:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:自动分配.zip

还是先解决后台添加处理人这个问题。

如附件,我在表B内添加处理人。增加数据窗口下拉框内容如何默认按照顺序选择下来,达到平均分配效果


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/14 12:54:00 [只看该作者]

再说一次

 

分组统计每一个人的个数

 

http://www.foxtable.com/webhelp/scr/0158.htm

 

获取个数最少的那一个,进行分配。如果后台录入,可以用sqlgrouptablebuilder分组统计得到数据


 回到顶部
帅哥哟,离线,有人找我吗?
zto001
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1465 积分:10403 威望:0 精华:0 注册:2018/10/16 11:42:00
  发帖心情 Post By:2019/4/14 15:34:00 [只看该作者]

’按下自动选择
Dim cmb As WinForm.ComboBox
cmb = e.Form.Controls("ComboBox1")
cmb.SelectedIndex = _fp Mod  cmb.Items.Count


'新增后增加1
Dim r As Row = Tables("表A").AddNew
r("第一列")=e.Form.Controls("TextBox1").value
r("第二列")=e.Form.Controls("ComboBox1").value
_fp =_fp +1

 回到顶部
帅哥哟,离线,有人找我吗?
zto001
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1465 积分:10403 威望:0 精华:0 注册:2018/10/16 11:42:00
  发帖心情 Post By:2019/4/14 16:13:00 [只看该作者]

修改下拉值条件

Dim cmb As WinForm.ComboBox
cmb = e.Form.Controls("ComboBox1")
cmb.DataFilter= "第二列 = '未分配'"

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/14 16:39:00 [只看该作者]

以下是引用zto001在2019/4/14 10:24:00的发言:
有这么几个问题
1、每次都要生成临时表统计很麻烦。
2、如果有人休息,数量自然会少,会都分配给他。
3、不方便增加删除处理人
[此贴子已经被作者于2019/4/14 10:27:34编辑过]

 

1、必须这样做,不然多人录入的时候,不可能做到平均分配;

 

2、你可以把休息的人去除后再分配。如果某些人休息了,之后上班,肯定要先分配给他啊,不然怎么可能做到平均?你说的平均又是什么意思?

 

3、请具体说明要到的效果。什么叫做平均分配,举例说明。


 回到顶部
帅哥哟,离线,有人找我吗?
zto001
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1465 积分:10403 威望:0 精华:0 注册:2018/10/16 11:42:00
  发帖心情 Post By:2019/4/14 16:57:00 [只看该作者]

在设置数据表内增加一列记录数值,用来记数(代替全局代码 _fp ),然后分配
这样写应该可以做到同样效果

我要做的平均分配是限定时间内平均分配。
比如今天ABC上班,他们三个平均分配30条记录。
明天ATQ上班,他们平分30条记录。不会因为TQ昨天没上班,都优先分配给他,跟别人一样后再一人一条来

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/14 17:22:00 [只看该作者]

以下是引用zto001在2019/4/14 16:57:00的发言:
在设置数据表内增加一列记录数值,用来记数(代替全局代码 _fp ),然后分配
这样写应该可以做到同样效果

我要做的平均分配是限定时间内平均分配。
比如今天ABC上班,他们三个平均分配30条记录。
明天ATQ上班,他们平分30条记录。不会因为TQ昨天没上班,都优先分配给他,跟别人一样后再一人一条来

 

那你分组统计的时候,设置日期条件限定就好了啊。

 

多人同时录入的时候,不能用变量来计数,除非你只有一台电脑录入数据。


 回到顶部