以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 请教一下 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=140373) |
-- 作者:ygg8310 -- 发布时间:2019/9/4 14:43:00 -- 请教一下 现有表ABCDEFG 想把它们的第一列,第二列,第三列,第四列,第五列以不重复的形式增加到表H中这个呢能够实现吗? |
-- 作者:有点蓝 -- 发布时间:2019/9/4 15:14:00 -- 遍历这些表,逐行添加,添加前先查询表H是否有相同的数据,没有再新增行 |
-- 作者:ygg8310 -- 发布时间:2019/9/4 16:43:00 -- Dim f1 As New Filler f1.SourceTable = DataTables("收入") f1.SourceCols = "第五列,第六列" \'指定数据来源列 f1.DataTable = DataTables("统计") f1.DataCols = "第五列,第六列" \'指定数据接收列 f1.Filter = "项目 is not null" Dim dr As DataTable = Tables("收入") If DataTables("统计").Find("第五列 = \'" & dr.第五列 & "\' And 第六列 = \'" & dr.第六列 & "\'")Is Nothing Then Else f1.Fill() Dim f2 As New Filler f2 = New Filler f2.SourceTable = DataTables("成本") f2.SourceCols = "第五列,第六列" \'指定数据来源列 f2.DataTable = DataTables("统计") f2.DataCols = "第五列,第六列" \'指定数据接收列 f2.Filter = "项目 is not null" Dim dr2 As DataTable = Tables("成本") If DataTables("统计").Find("第五列 = \'" & dr2.第五列 & "\' And 第六列 = \'" & dr2.第六列 & "\'")Is Nothing Then Else f2.Fill() 老师,编译错误。。。还是不会。。。
|
-- 作者:有点蓝 -- 发布时间:2019/9/4 16:50:00 -- 不能使用Filter For Each dr1 As DataRow In DataTables("表A").datarows Dim dr2 As DataRow = DataTables("表H").find("第五列 = \'" & dr1("第五列") & "\' And 第六列 = \'" & dr1("第六列") & "\'") If dr2 Is Nothing dr2 = DataTables("表H").AddNew() For Each dc As DataCol In DataTables("表A").DataCols dr2(dc.Name) = dr1(dc.name) Next End If Next |
-- 作者:ygg8310 -- 发布时间:2019/9/4 17:21:00 -- Dim Cols1() As String = {"第五列","第六列"} Dim Cols2() As String = {"第五列","第六列"} For Each dr1 As DataRow In DataTables("收入").datarows Dim dr2 As DataRow = DataTables("统计").find("第五列 = \'" & dr1("第五列") & "\' And 第六列 = \'" & dr1("第六列") & "\'") If dr2 Is Nothing dr2 = DataTables("统计").AddNew() For i As Integer = 0 To Cols1.Length -1 dr2(Cols2(i)) = dr1(Cols1(i)) Next End If Next 老师这段代码应该还可以改善一下,第一数据量大时很卡,第二没有排除空白行。。。
[此贴子已经被作者于2019/9/4 17:31:33编辑过]
|
-- 作者:有点蓝 -- 发布时间:2019/9/4 17:53:00 -- 数据量大这个没有办法,如果sql熟练可以考虑直接使用SQL更新。 For Each dr1 As DataRow In DataTables("收入").select("第五列 is not null")
|
-- 作者:ygg8310 -- 发布时间:2019/9/4 19:06:00 -- 老师,还请教一下,那个空白行该如何排除? |
-- 作者:有点蓝 -- 发布时间:2019/9/5 8:42:00 -- 看6楼 |