以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  表间数据转移问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=24108)

--  作者:aygp
--  发布时间:2012/9/30 21:04:00
--  表间数据转移问题
有二个数据结构完全相同的数据表,表A和表B。需要定期把表A中的历史数据转移到表B中保存,我想用按键做一个一键转移功能,请问代码应该如何编写?
--  作者:ahbzczy
--  发布时间:2012/9/30 21:43:00
--  
遍历表A,每一行在表B中AddNew一行,再对应填入每一行中的单元格的值到表B中,完成后再删除表A中的行。
--  作者:aygp
--  发布时间:2012/9/30 22:14:00
--  

具体代码应该如何写?因为我对代码的编写还不熟,还在学习过程中,请教了。


--  作者:ahbzczy
--  发布时间:2012/10/1 7:51:00
--  
Dim a As Table = Tables("表A")
Dim b As Table = Tables("表B")
For r As Integer = 0 To a.Rows.Count - 1
    b.AddNew
    For c As Integer = 0 To a.cols.Count - 1
        b.Current(c) = a.Rows(r)(c)
    Next
   
Next
For r As Integer = a.rows.Count - 1 To 0 Step -1
    a.rows(r).Delete
Next

--  作者:aygp
--  发布时间:2012/10/1 10:39:00
--  
测试通过,谢了!
--  作者:aygp
--  发布时间:2012/10/1 13:42:00
--  
现在又发现一个问题,以上代码必须要表A和表B的相同字段位置完全一致才行。如果表A和表B相同字段的位置不相同。如表A的字段位置为:第一列、第二列、第三列、第四列、第五列等。表B的字段位置为:、第二列、第一列第四列、第三列、第五列等。又如何保证表A和表B的相同字段列的数据准确转移呢。
--  作者:foxor
--  发布时间:2012/10/1 16:12:00
--  
那只好把下面的循环语句去掉:
    For c As Integer = 0 To a.cols.Count - 1
        b.Current(c) = a.Rows(r)(c)
    Next
再加上类似语句:
     b.Current(“张三”) = a.Rows(r)(“张三”)
     b.Current(“李四”) = a.Rows(r)(“李四”)
    ……

--  作者:y2287958
--  发布时间:2012/10/1 18:58:00
--  
为何不用filler呢
--  作者:foxor
--  发布时间:2012/10/1 21:17:00
--  
当然可以,殊途同归
--  作者:aygp
--  发布时间:2012/10/2 0:26:00
--  
filler又怎样使用?请教了