Foxtable(狐表)用户栏目专家坐堂 → [求助]将三个表格某列进行合并筛选?


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

主题:[求助]将三个表格某列进行合并筛选?

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


加好友 发短信
等级:小狐 帖子:316 积分:2899 威望:0 精华:0 注册:2009/7/25 18:29:00
[求助]将三个表格某列进行合并筛选?  发帖心情 Post By:2018/8/8 22:41:00 [只看该作者]

各位老师辛苦了!!
  我的问题是:在“河长统计表”的“乡级河长”列将“规模以下河流”、“规模以上河流”、“水库”这三个表的“乡级河长”和“乡级库长”按“乡镇”合并计数统计。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:达川区河库塘长统计表.table


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


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

这个意思?

 

If e.DataCol.name = "乡镇" Then
    Dim count1 = DataTables("A表").getvalues("XJHZXM", "XZMC='" & e.DataRow("乡镇") & "'").count
    Dim count2 = DataTables("B表").getvalues("XJHZXM", "XZMC='" & e.DataRow("乡镇") & "'").count
    Dim count3 = DataTables("C表").getvalues("XJHZXM", "XZMC='" & e.DataRow("乡镇") & "'").count
    e.DataRow("XJHZSL") = count1+count2+count3
End If


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


加好友 发短信
等级:小狐 帖子:316 积分:2899 威望:0 精华:0 注册:2009/7/25 18:29:00
  发帖心情 Post By:2018/8/9 0:01:00 [只看该作者]

谢谢你,老师!!!
    但结果还不是这样子的,你这个公式是将三个表格分别计数后,将计数结果相加,而三个表中人名都有相同的,也就是说三个表中相同的人名只计数1次。该如何实现,还请大师帮忙,谢谢!!!

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


加好友 发短信
等级:小狐 帖子:316 积分:2899 威望:0 精华:0 注册:2009/7/25 18:29:00
  发帖心情 Post By:2018/8/9 8:59:00 [只看该作者]

If e.DataCol.name = "乡镇" Then
    Dim count1 = DataTables("A表").getvalues("XJHZXM", "XZMC='" & e.DataRow("乡镇") & "'").count
    Dim count2 = DataTables("B表").getvalues("XJHZXM", "XZMC='" & e.DataRow("乡镇") & "'").count
    Dim count3 = DataTables("C表").getvalues("XJHZXM", "XZMC='" & e.DataRow("乡镇") & "'").count
    e.DataRow("XJHZSL") = count1+count2+count3
End If
这个语句只是将三个表计数后再相加,同样会有重复人员,不是我最终要的结果,因为三个表相加后又有重复人员,我需要将三个表的人员合并计数,重复人员只计一次。请问大师们该如何实现呢?

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


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

参考代码

 

Dim ls1 As List(Of String) = DataTables("A表").getvalues("XJHZXM", "XZMC='" & e.DataRow("乡镇") & "'")
Dim ls2 As List(Of String) = DataTables("A表").getvalues("XJHZXM", "XZMC='" & e.DataRow("乡镇") & "'")
Dim ls3 As List(Of String) = DataTables("A表").getvalues("XJHZXM", "XZMC='" & e.DataRow("乡镇") & "'")
For Each s As String In ls2
    If ls1.Contains(s) = False Then
        ls1.add(s)
    End If
Next
For Each s As String In ls3
    If ls1.Contains(s) = False Then
        ls1.add(s)
    End If
Next
msgbox(ls1.count)


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


加好友 发短信
等级:小狐 帖子:316 积分:2899 威望:0 精华:0 注册:2009/7/25 18:29:00
  发帖心情 Post By:2018/8/9 11:32:00 [只看该作者]

愿望实现,谢谢大师!!!!

 回到顶部