以文本方式查看主题 - 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又怎样使用?请教了 |