Foxtable(狐表)用户栏目专家坐堂 → [求助]跨表下拉录入


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

主题:[求助]跨表下拉录入

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


加好友 发短信
等级:四尾狐 帖子:812 积分:6688 威望:0 精华:0 注册:2014/11/26 12:32:00
[求助]跨表下拉录入  发帖心情 Post By:2018/10/21 23:09:00 [只看该作者]

表A项目共由 流程1 接着到 流程2  再到 流程3  来完成

 想实现在窗口中录入 流程1_负责人 从表B的流程部门列中值对于  部门1 的负责人中下来选择。如果部门1的负责人已经有未完成的流程1项目,下拉就不显示他的名字,求助


具体描述:

小王,因为已完成,可以安排任务,所以下来显示

小李,小张,因为未完成任务,暂不安排任务,所以下拉不显示

小赵,因为从未安排任务,可以安排任务,所以下来显示


在窗口中,流程1_负责人,下拉,只显示 小王  和 小赵,求助


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

[此贴子已经被作者于2018/10/21 23:27:34编辑过]

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


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

Enter事件,写代码

 

Dim str = DataTables("表A").GetComboListString("流程1_负责人", "流程1_完成情况 = '未完成'")
str = str.replace(",", "|").replace("|", "','")
e.sender.ComboList = DataTables("表B").GetComboListString("负责人", "流程部门='部门1' and 负责人 not in ('" & str & "')")


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


加好友 发短信
等级:四尾狐 帖子:812 积分:6688 威望:0 精华:0 注册:2014/11/26 12:32:00
回复:(有点甜)Enter事件,写代码 Dim str...  发帖心情 Post By:2018/10/22 9:08:00 [只看该作者]

大师, 如果要统计表A 流程1 各负责人,未完成项目的数量,并按降序输出,下面代码怎么修改呢?

Dim str = DataTables("表A").GetComboListString("流程1_负责人", "流程1_完成情况 = '未完成'")
str = str.replace(",", "|").replace("|", "','")
Dim s As String
s = DataTables("表B").GetComboListString("负责人", "流程部门='部门1' and 负责人 not in ('" & str & "')")
Output.Show(s)

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


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

Dim xms = DataTables("表B").GetValues("负责人", "流程部门='部门1'")
Dim ary1 = xms.Toarray
Dim ary2(ary1.length-1) As String
For i As Integer = 0 To xms.count-1
    Dim xm = xms(i)
    Dim count = DataTables("表A").Compute("count(流程1_完成情况)", "流程1_完成情况 = '未完成' and 流程1_负责人 like '%" & xm & "%'")
    ary2(i) = format(count, "00")
Next
array.sort(ary2, ary1)
array.Reverse(ary1)
array.Reverse(ary2)
output.show(String.join("|", ary1))
output.show(String.join("|", ary2))


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


加好友 发短信
等级:四尾狐 帖子:812 积分:6688 威望:0 精华:0 注册:2014/11/26 12:32:00
回复:(有点甜)Dim xms = DataTables("表B").GetVal...  发帖心情 Post By:2018/10/22 10:06:00 [只看该作者]

 大师,查询结果要录入 临时表,下面代码怎么修改呢?

Dim xms = DataTables("表B").GetValues("负责人", "流程部门='部门1'")
Dim ary1 = xms.Toarray
Dim ary2(ary1.length-1) As String
For i As Integer = 0 To xms.count-1
    Dim xm = xms(i)
    Dim count = DataTables("表A").Compute("count(流程1_完成情况)", "流程1_完成情况 = '未完成' and 流程1_负责人 like '%" & xm & "%'")
    ary2(i) = format(count, "00")
Next
array.sort(ary2, ary1)
array.Reverse(ary1)
array.Reverse(ary2)
'output.show(String.join("|", ary1))
'output.show(String.join("|", ary2))

Dim dtb As New DataTableBuilder("统计")
dtb.AddDef("流程1_负责人", Gettype(String), 132)
dtb.AddDef("流程1_未完成数量", Gettype(String), 132)
dtb.Build()


    Dim dr1 As DataRow = DataTables("统计").AddNew()
    dr1("流程1_负责人") = ary1
    dr1("流程1_未完成数量") = ary2

MainTable= Tables("统计")

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


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

Dim xms = DataTables("表B").GetValues("负责人", "流程部门='部门1'")
Dim ary1 = xms.Toarray
Dim ary2(ary1.length-1) As Integer
For i As Integer = 0 To xms.count-1
    Dim xm = xms(i)
    Dim count = DataTables("表A").Compute("count(流程1_完成情况)", "流程1_完成情况 = '未完成' and 流程1_负责人 like '%" & xm & "%'")
    ary2(i) = count
Next
array.sort(ary2, ary1)

Dim dtb As New DataTableBuilder("统计")
dtb.AddDef("流程1_负责人", Gettype(String), 132)
dtb.AddDef("流程1_未完成数量", Gettype(Integer))
dtb.Build()

For i As Integer = ary1.length-1 To 0 Step -1
    Dim dr1 As DataRow = DataTables("统计").AddNew()
    dr1("流程1_负责人") = ary1(i)
    dr1("流程1_未完成数量") = ary2(i)
Next
MainTable= Tables("统计")


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


加好友 发短信
等级:四尾狐 帖子:812 积分:6688 威望:0 精华:0 注册:2014/11/26 12:32:00
回复:(有点甜)Dim xms = DataTables("表B").GetVal...  发帖心情 Post By:2018/10/22 17:09:00 [只看该作者]

大师,如果窗口文本框显示 可以安排任务的人员,下面代码怎么修改? 谢谢

 

'可以安排任务的人员
Dim str2 = DataTables("室内设计项目").GetComboListString("深化设计完成时间节点_负责人", "深化设计完成时间节点_全套施工图完成时间_完成否 = '未完成'")
str2 = str2.replace(",", " ").replace("|", "' '")
e.Form.Controls("Label3").Text = DataTables("员工资料").GetValues("姓名", "分配任务组别='部门1' and 姓名 not in  ('" & str2 & "')")

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:文字显示不重复值结果.foxdb

[此贴子已经被作者于2018/10/22 17:47:30编辑过]

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


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

'空闲人员统计
Dim str2 = DataTables("室内设计项目").GetComboListString("深化设计完成时间节点_负责人", "深化设计完成时间节点_全套施工图完成时间_完成否 = '未完成'")
str2 = str2.replace(",", "|").replace("|", "','")
e.Form.Controls("Label3").Text = DataTables("员工资料").GetComboListString("姓名", "分配任务组别='部门1' and 姓名 in ('" & str2 & "')")

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


加好友 发短信
等级:四尾狐 帖子:812 积分:6688 威望:0 精华:0 注册:2014/11/26 12:32:00
回复:(有点甜)Dim xms = DataTables("表B").GetVal...  发帖心情 Post By:2018/10/23 16:53:00 [只看该作者]

 大师,6楼代码,如果 流程1_完成情况 为空,就不统计数量,下面这个地方怎么修改呢?  谢谢哈

Dim xms = DataTables("表B").GetValues("负责人", "流程部门='部门1'")
Dim ary1 = xms.Toarray
Dim ary2(ary1.length-1) As Integer
For i As Integer = 0 To xms.count-1
    Dim xm = xms(i)
    'Dim count = DataTables("表A").Compute("count(流程1_完成情况)", "流程1_完成情况 = '未完成' and 流程1_负责人 like '%" & xm & "%'")
    Dim count = DataTables("表A").Compute("count(流程1_完成情况)", "(流程1_完成情况 = '未完成' or 流程1_完成情况 Is null) and 流程1_负责人 like '%" & xm & "%'")
    ary2(i) = count
Next
array.sort(ary2, ary1)

Dim dtb As New DataTableBuilder("统计")
dtb.AddDef("流程1_负责人", Gettype(String), 132)
dtb.AddDef("流程1_未完成数量", Gettype(Integer))
dtb.Build()

For i As Integer = ary1.length-1 To 0 Step -1
    Dim dr1 As DataRow = DataTables("统计").AddNew()
    dr1("流程1_负责人") = ary1(i)
    dr1("流程1_未完成数量") = ary2(i)
Next
MainTable= Tables("统计")

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


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


    Dim count = DataTables("表A").Compute("count(流程1_负责人)", "(流程1_完成情况 = '未完成' or 流程1_完成情况 Is null) and 流程1_负责人 like '%" & xm & "%'")

 回到顶部
总数 16 1 2 下一页