Foxtable(狐表)用户栏目专家坐堂 → 二数据表之间数据对比


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

主题:二数据表之间数据对比

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


加好友 发短信
等级:三尾狐 帖子:693 积分:5206 威望:0 精华:0 注册:2011/3/15 12:34:00
二数据表之间数据对比  发帖心情 Post By:2012/7/23 23:26:00 [只看该作者]

请教:有二个数据表“学生名单1”,“学生名单2”,要对姓名列中的名字相互进行对比,在对方表中不存在的名单用红色显示,并在对比结果列中显示“无此人”。这样的事情用人工去对比太痛苦了。见附表
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:数据对比.rar


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


加好友 发短信
等级:三尾狐 帖子:693 积分:5206 威望:0 精华:0 注册:2011/3/15 12:34:00
  发帖心情 Post By:2012/7/23 23:29:00 [只看该作者]

请教按钮代码如何编写?

 回到顶部
帅哥,在线噢!
y2287958
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:4640 积分:33850 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2012/7/24 6:48:00 [只看该作者]

Dim lst1 As New List(of DataRow)
Dim lst2 As New List(of DataRow)
For Each dr As DataRow In DataTables("学生名单1").DataRows
    If DataTables("学生名单2").Find("姓名 = '" & dr("姓名") & "'") Is Nothing Then
        lst1.Add(dr)
    Else
        lst2.Add(dr)
    End If
Next
For Each dr As DataRow In lst1 
    dr("对比结果") = "无此人"
Next
For Each dr As DataRow In lst2
    dr("对比结果") = ""
Next
For Each dr As DataRow In DataTables("学生名单2").DataRows
    If DataTables("学生名单1").Find("姓名 = '" & dr("姓名") & "'") Is Nothing Then
        lst1.Add(dr)
    Else
        lst2.Add(dr)
    End If
Next
For Each dr As DataRow In lst1 
    dr("对比结果") = "无此人"
Next
For Each dr As DataRow In lst2
    dr("对比结果") = ""
Next

或者

For Each dr As DataRow In DataTables("学生名单1").DataRows
    If DataTables("学生名单2").Find("姓名 = '" & dr("姓名") & "'") Is Nothing Then
        dr("对比结果") = "无此人"
    Else
        dr("对比结果") = ""
    End If
Next
For Each dr As DataRow In DataTables("学生名单2").DataRows
    If DataTables("学生名单1").Find("姓名 = '" & dr("姓名") & "'") Is Nothing Then
        dr("对比结果") = "无此人"
    Else
        dr("对比结果") = ""
    End If
Next


两者效率不同

另外还要表draw事件中设一下“红色显示”

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


加好友 发短信
等级:三尾狐 帖子:693 积分:5206 威望:0 精华:0 注册:2011/3/15 12:34:00
  发帖心情 Post By:2012/7/24 9:29:00 [只看该作者]

谢了!

 回到顶部