以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助].FIND 使用查找对比是否同行某列为空无法排除相同 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=185369) |
-- 作者:vvfree -- 发布时间:2023/2/20 1:58:00 -- [求助].FIND 使用查找对比是否同行某列为空无法排除相同 当使用.FIND 使用查找对比两表是否存在相同行,当行某列为空值时无法排除相同行的问题 如果所有列有值就可以对比排除不重复,但是只要有一列值为空就无法排除,重复添加,请问要如何解决?谢谢!
For Each dr1 As Row In Tables("查询打印_Table1").GetCheckedRows Dim t1 As DataTable = Tables("查询打印_Table2").DataTable Dim fdr As DataRow = t1.Find("[销货单号] = \'" & dr1("销货单号") & "\'And [销货日期] = \'" & dr1("销货日期") & "\'And[客户代号] = \'" & dr1("客户代号") & "\'And[SST] = \'" & dr1("SST") & "\'") If fdr Is Nothing Then Dim dr3 As Row = Tables("查询打印_Table2").AddNew() For Each dc As Col In Tables("查询打印_Table2").Cols dr3(dc.name) = dr1(dc.name) Next End If Next |
-- 作者:有点蓝 -- 发布时间:2023/2/20 8:38:00 -- 如果只有一个列空值,比较好处理 dim filter as string if dr1.isnull("客户代号") filter = "[销货单号] = \'" & dr1("销货单号") & "\'And [销货日期] = \'" & dr1("销货日期") & "\'And[客户代号] is null And[SST] = \'" & dr1("SST") & "\'" else "[销货单号] = \'" & dr1("销货单号") & "\'And [销货日期] = \'" & dr1("销货日期") & "\'And[客户代号] = \'" & dr1("客户代号") & "\'And[SST] = \'" & dr1("SST") & "\'" end if Dim fdr As DataRow = t1.Find(filter ) 如果有多个列空值,就麻烦了,一个列为空,两个列为空,...,判断都要单独处理
|
-- 作者:vvfree -- 发布时间:2023/2/20 11:18:00 -- 回复:(有点蓝)如果只有一个列空值,比较好处理dim ... 会有多个为空的情况哦,但不会出现重复,但肯定的是某个值一定不相同,单会出现多个空值, |