以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  派工怎么实现  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=65333)

--  作者:498350800
--  发布时间:2015/3/13 20:24:00
--  派工怎么实现
比如我有值班表,里面有我每个人的信息,发生任务1时,自动选取值班表中今日值班状态是“值班”的人员,自动将任务派给第一个符合值班这个条件的人,发生任务2时,自动找下一个值班的人,派给他,直到最后一个值班人员,再返回最上面一个人重新开始这个过程,在此同时,自动记录到存档表里,不知道怎么实现,希望各位老师帮忙,谢谢了
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


--  作者:cyrollin
--  发布时间:2015/3/13 20:41:00
--  
在数据表 --> 表属性 --> Datacolchanged 事件 加入代码,

请参考,自动输入的实现: 
http://www.foxtable.com/help/topics/1458.htm



--  作者:498350800
--  发布时间:2015/3/27 11:14:00
--  

这段时间一直在忙,老师说的这个我还是摸不着头脑,本身是新手,能不能帮忙把例子做出来,公司里着急上程序,已经都做出来了,就差这个功能,非常感谢了,着急看下效果再入手开发版,所以谁能给做个试用版的程序,只要实现功能就行,其他的我可以自己做了。


--  作者:有点甜
--  发布时间:2015/3/27 11:25:00
--  

档案表,DataRowAdding事件,代码

 

Dim drs As List(Of DataRow) = DataTables("值班表").Select("今日值班 = \'值班\'")
Dim lastRow As DataRow = e.DataTable.Find("", "_Identify desc")
Dim idx As Integer = 0
If lastRow IsNot Nothing Then
    For i As Integer = 0 To drs.Count - 1
        If drs(i)("姓名") = lastRow("姓名") Then
            If i <> drs.count - 1 Then
                idx = i+1
            End If
        End If
    Next
End If
msgbox(idx)
e.DataRow("工号") = drs(idx)("工号")
e.DataRow("姓名") = drs(idx)("姓名")