以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]怎么把A表选定的多行复制到B表?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=143360)

--  作者:tkxffb
--  发布时间:2019/11/21 23:28:00
--  [求助]怎么把A表选定的多行复制到B表?
各位老师,我想把A表中选中的多行复制到B表中,写了下面的代码,但报错了,请指教。谢谢

Dim Cols1() As String = {"姓名","身份证号","性别","出生日期","住址","所在辖区_乡镇办","所在辖区_县市区","备注"}   \'---指定数据来源列
Dim Cols2() As String = {"姓名","身份证号","性别","出生日期","住址","所在辖区_乡镇办","所在辖区_县市区","备注"}    \'----指定数据接收列
            
For i As Integer = Tables("A表").BottomPosition To Tables("A表").TopPosition Step -1
   Dim dr1 As Row = Tables("A表").Rows(i)
   Dim dr2 As Row = Tables("B表").AddNew()
      For i2 As Integer = 0 To Cols1.Length -1
         dr2(Cols2(i2)) = dr1(Cols1(i))   \'---复制到指定的表
         dr2(Cols2("移入原因")) = "核销"
         dr2(Cols2("录入日期")) = Date.now   \'---在录入日期列自动填入当前日期
      Next
Next

--  作者:tkxffb
--  发布时间:2019/11/22 9:08:00
--  
我把代码改成下面这样,可以实现设计目的了,但不知道是否合理,请各位老师看看

Dim Cols1() As String = {"姓名","身份证号","性别","出生日期","住址","所在辖区_乡镇办","所在辖区_县市区","备注"}   \'---指定数据来源列
            Dim Cols2() As String = {"姓名","身份证号","性别","出生日期","住址","所在辖区_乡镇办","所在辖区_县市区","备注"}    \'----指定数据接收列
            
            For i As Integer = Tables("A表").TopPosition To Tables("A表").BottomPosition Step 1  
                Dim dr1 As Row = Tables("A表").Rows(i)
                Dim dr2 As Row = Tables("B表").AddNew()
                For i2 As Integer = 0 To Cols1.Length -1
                    dr2(Cols2(i2)) = dr1(Cols1(i2))   \'---复制到指定的表
                    dr2("移入原因") = "核销"
                    dr2("录入日期") = Date.now   \'---在录入日期列自动填入当前日期
                Next
            Next

--  作者:狐狸爸爸
--  发布时间:2019/11/22 10:10:00
--  
合理