以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  关于数据引用与填充  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=103168)

--  作者:litiemiao
--  发布时间:2017/7/1 20:37:00
--  关于数据引用与填充

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:新建文件夹.rar

表A中有条形码 规格 单位 商品名称等列  此表为填充数据来源表

表C中有很多列  此表为数据接收表

设置那个事件,或者做一个按钮

可以提取表A中的数据依次填充到表C 的 对应列 (表A 和表C 结构不同)

如果接收列中条形码对应列有重复值,提示是否需要更新,如果没有重复值则直接填充

请教大神 

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

 

Dim Vals As List(of String())
Vals = DataTables("表A").GetValues("条形码|商品名称")
For
i As Integer = 0 To Vals.Count - 1
    Dim
dr As DataRow = DataTables("表B").AddNew()
    dr(
"第一列") = Vals(i)(0)
    dr(
"第二列") = Vals(i)(1)
Next

这段代码他确实填充了,但是填充了N多遍 食怎么回事

求教啊 

[此贴子已经被作者于2017/7/2 15:56:33编辑过]

--  作者:有点甜
--  发布时间:2017/7/2 16:26:00
--  

做个按钮,执行代码

 

Dim Cols1() As String = {"条形码","商品名称","规格"}
Dim Cols2() As String = {"第一列","第二列","第三列"}
For Each dr1 As DataRow In DataTables("表A").Select("[条形码] Is Not Null")
    Dim dr2 As DataRow = DataTables("表C").Find("第一列=\'" & dr1("条形码") & "\'")
    If dr2 Is Nothing Then dr2 = DataTables("表C").AddNew()
    For i As Integer = 0 To Cols1.Length -1
        dr2(Cols2(i)) = dr1(Cols1(i))
    Next
Next