以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 二数据表之间数据对比 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=21757) |
||||
-- 作者:aygp -- 发布时间:2012/7/23 23:26:00 -- 二数据表之间数据对比 请教:有二个数据表“学生名单1”,“学生名单2”,要对姓名列中的名字相互进行对比,在对方表中不存在的名单用红色显示,并在对比结果列中显示“无此人”。这样的事情用人工去对比太痛苦了。见附表
|
||||
-- 作者:aygp -- 发布时间:2012/7/23 23:29:00 -- 请教按钮代码如何编写? |
||||
-- 作者:y2287958 -- 发布时间: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 -- 发布时间:2012/7/24 9:29:00 -- 谢了! |