Foxtable(狐表)用户栏目专家坐堂 → 如何比对七个datatable中相同的身份证号的记录?


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

主题:如何比对七个datatable中相同的身份证号的记录?

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


加好友 发短信
等级:三尾狐 帖子:778 积分:7463 威望:0 精华:0 注册:2009/9/7 10:55:00
如何比对七个datatable中相同的身份证号的记录?  发帖心情 Post By:2013/4/17 10:47:00 [只看该作者]

现有七个datatable,每个datatable都有一个身份证号的字段,请问高手:

如何比对七个datatable中表间重复的身份证号的记录?


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/4/17 10:51:00 [只看该作者]

把7个表的身份证加起来. 放在一个临时表.然后点击高级筛选功能,显示重复值.

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


加好友 发短信
等级:三尾狐 帖子:778 积分:7463 威望:0 精华:0 注册:2009/9/7 10:55:00
  发帖心情 Post By:2013/4/17 11:28:00 [只看该作者]

用代码可以实现吗?我不希望放在一个表中。因为这七个表中的字段名称都不一样,除了身份证号。

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


加好友 发短信
等级:等待验证 帖子:3855 积分:20692 威望:0 精华:5 注册:2012/6/21 14:03:00
  发帖心情 Post By:2013/4/17 11:32:00 [只看该作者]

用户已被锁定

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/4/17 11:35:00 [只看该作者]

Dim dtb As New DataTableBuilder("身份证号码")
dtb.AddDef("身份证号", Gettype(String), 32)
dtb.Build()

For Each dr As DataRow In DataTables("表A").DataRows
 DataTables("身份证号码").AddNew()("身份证号")=dr("第一列")
Next
For Each dr As DataRow In DataTables("第二个表").DataRows
 DataTables("身份证号码").AddNew()("身份证号")=dr("第一列")
Next
MainTable= Tables("身份证号码")

Syscmd.Filter.ShowSameValues()  '显示重复值
Syscmd.Filter.ShowRedundantValues() '显示冗余值

想获得哪一个 随便选一个系统命令执行

[此贴子已经被作者于2013-4-17 11:41:06编辑过]

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


加好友 发短信
等级:三尾狐 帖子:778 积分:7463 威望:0 精华:0 注册:2009/9/7 10:55:00
  发帖心情 Post By:2013/4/17 16:01:00 [只看该作者]

还是觉得不够理想。

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


加好友 发短信
等级:三尾狐 帖子:778 积分:7463 威望:0 精华:0 注册:2009/9/7 10:55:00
  发帖心情 Post By:2013/4/21 11:54:00 [只看该作者]

在没有别的更好的办法了吗?


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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2013/4/21 14:00:00 [只看该作者]

Dim s As New List (Of String)
For Each dt As DataTable In DataTables
    If dt.DataCols.Contains("身份证号码") Then
        For Each dr As DataRow In dt.DataRows
            s.Add(dr("身份证号码"))
        Next
    End If
Next

Dim str As String
Dim i,j As Integer
For i = 0 To s.Count - 1
    For j = 0 To i - 1
        If s(i) = s(j) Then
            Exit For
        End If
    Next
    If i <> j Then
        str = str & s(i) & "|"
    End If
Next
str = str.TrimEnd("|")
MessageBox.Show(str)


 回到顶部