以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]关于平均分配以及设置  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=133440)

--  作者:zto001
--  发布时间: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

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

--  作者:有点色
--  发布时间:2019/4/14 10:16:00
--  

分组统计每一个人的个数

 

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

 

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


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

--  作者:zto001
--  发布时间:2019/4/14 10:44:00
--  

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

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

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


--  作者:有点甜
--  发布时间:2019/4/14 12:54:00
--  

再说一次

 

分组统计每一个人的个数

 

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

 

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


--  作者:zto001
--  发布时间: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
--  发布时间:2019/4/14 16:13:00
--  
修改下拉值条件

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

--  作者:有点甜
--  发布时间: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
--  发布时间:2019/4/14 16:57:00
--  
在设置数据表内增加一列记录数值,用来记数(代替全局代码 _fp ),然后分配
这样写应该可以做到同样效果

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

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

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

 

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

 

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