以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  重复值  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=157948)

--  作者:nbsugu_z
--  发布时间:2020/11/3 10:26:00
--  重复值

Dim Cols1() As String = {"来源列一","来源列二","来源列三"}
Dim
Cols2() As String = {"接收列一","接收列二","接收列三"}
For Each
dr1 As DataRow In DataTables("表A").Select("[金额] > 100")
    Dim
dr2 As DataRow = DataTables("表B").AddNew()
    For
i As Integer = 0 To Cols1.Length -1
       
dr2(Cols2(i)) = dr1(Cols1(i
))
    Next
Next



老师,以上代码中先排除来源列三中的重复值(字符型)的,再填充到表B中,代码如何加,加在哪里?


--  作者:有点蓝
--  发布时间:2020/11/3 10:36:00
--  
Dim Cols1() As String = {"来源列一","来源列二","来源列三"}
Dim 
Cols2() As String = {"接收列一","接收列二","接收列三"}
For Each 
dr1 As DataRow In DataTables("表A").Select("[金额] > 100")
    Dim 
dr2 As DataRow = 
DataTables("表B").find("接收列三=\'" & dr1("来源列三") & "\'")
if dr2 is nothing then
dr2  = DataTables("表B").AddNew()
    For 
i As Integer = 0 To Cols1.Length -1
        
dr2(Cols2(i)) = dr1(Cols1(i
))
    Next
end if
Next

--  作者:nbsugu_z
--  发布时间:2020/11/3 11:17:00
--  
老师,这好象是排除重复追加的。我要的是:来源列三中有重复记录,只取一条。然后追加到B表中去,同时B表中已有记录不重复追加
[此贴子已经被作者于2020/11/3 11:16:59编辑过]

--  作者:有点蓝
--  发布时间:2020/11/3 11:19:00
--  
Tables("表A").RepeatFilter("来源列三", 1)
Dim Cols1() As String = {"来源列一","来源列二","来源列三"}
Dim 
Cols2() As String = {"接收列一","接收列二","接收列三"}
For Each 
dr1 As Row In Tables("表A").rows
    Dim 
dr2 As DataRow = DataTables("表B").AddNew()
    For 
i As Integer = 0 To Cols1.Length -1
        
dr2(Cols2(i)) = dr1(Cols1(i
))
    Next
Next