Foxtable(狐表)用户栏目专家坐堂 → [求助]跨表自动统计汇总


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

主题:[求助]跨表自动统计汇总

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


加好友 发短信
等级:小狐 帖子:349 积分:3600 威望:0 精华:0 注册:2014/4/11 16:05:00
[求助]跨表自动统计汇总  发帖心情 Post By:2018/6/11 16:55:00 [只看该作者]

如示例:

想实现:1.在表A中录入信息后自动在表B中实现如表中数据的填写。
            2.表B中要求部门、科室、岗位自动新增一行。
           3.截止目前编制为手填,默认为0
           4.编内到位人员自动统计进去姓名,以"、"隔开。
          5.编内到位人数自动统计人员的数量。
           6.空缺人数= 截止目前编制-编内到位人数。

自动实现以上功能,谢谢
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


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


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

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


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


加好友 发短信
等级:小狐 帖子:349 积分:3600 威望:0 精华:0 注册:2014/4/11 16:05:00
[求助]跨表自动统计汇总  发帖心情 Post By:2018/6/11 22:21:00 [只看该作者]

感谢有点甜版主的指导,真的是学到很多,我会继续努力的。
还有一些疑问,请问表B如何实现:
1.当编内到位人员未聘填写后,实际在岗人数为编内到位人员与编内到位人员未聘的数量之和。
2.编内实际在岗人数=实际在岗人数
3.编内实际在岗人员=编内到位人员与编内到位人员未聘的人员名单,中间以“、”隔开。


感谢版主的指导,后期必定好好研究,谢谢
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table



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


加好友 发短信
等级:超级版主 帖子:111711 积分:568691 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/6/11 22:44:00 [只看该作者]

'''
Select Case e.DataCol.name
    Case "部门", "科室", "岗位"
        Dim filter As String = "部门='" & e.DataRow("部门") & "' and 科室='" & e.DataRow("科室") & "' and 岗位='" & e.DataRow("岗位") & "'"
        Dim str As String = DataTables("表A").GetComboListString("姓名", filter)
        If str > "" Then
            e.DataRow("编内到位人数") = str.split("|").length
        Else
            e.DataRow("编内到位人数") = 0
        End If
        e.DataRow("编内到位人员") = str.replace("|", "、")
    Case "截止目前编制","编内到位人数","空缺人数"
        e.DataRow("空缺人数") = val(e.DataRow("截止目前编制")) - val(e.DataRow("编内到位人数"))
    Case "编内到位人员","编内到位人员未聘"
        Dim str As String = e.DataRow("编内到位人员")
        If str > "" Then
            If e.DataRow.IsNull("编内到位人员未聘") = False Then
                str = str & "、" & e.DataRow("编内到位人员未聘")
            End If
        Else
            str = e.DataRow("编内到位人员未聘")
        End If
        If str > "" Then
            e.DataRow("实际在岗人数") = str.Split("、").Length
            e.DataRow("编内实际在岗人数") = e.DataRow("实际在岗人数")
            e.DataRow("编内实际在岗人员") = str
        Else
            e.DataRow("实际在岗人数") = 0
            e.DataRow("编内实际在岗人数") = 0
            e.DataRow("编内实际在岗人员") = Nothing
        End If
End Select

 回到顶部