以文本方式查看主题
- Foxtable(狐表) (http://foxtable.com/bbs/index.asp)
-- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2)
---- 求高效率的复制代码 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=10211)
|
-- 作者:xmj09663
-- 发布时间:2011/5/25 18:11:00
-- 求高效率的复制代码
老爹 有没有 高效率 的 将 a表 的数据 复制到 b表的 代码
|
-- 作者:czy
-- 发布时间:2011/5/25 18:19:00
--
如果两表结构一样,Filler效率应该不错吧
|
-- 作者:xmj09663
-- 发布时间:2011/5/25 18:29:00
--
结构不一样 有牛逼点的 代码吗 我现在做 物料需求模块 有5W多项物料 而且要复制的列数 也比较多 我今天 做出来的 代码 速度 有点慢 要5分钟 所以上论坛求救
[此贴子已经被作者于2011-5-25 18:30:49编辑过]
|
-- 作者:czy
-- 发布时间:2011/5/25 18:43:00
--
好像Merger效率还可以,不过我没试过这么大的数据量,你可以试试
|
-- 作者:czy
-- 发布时间:2011/5/25 19:02:00
--
这么大的数据量一次性复制,如果需保存,建议还是用sql直接后台操作的好。
刚才测试了一下,Merger方法速度很快。
此主题相关图片如下:2.jpg
|
-- 作者:xmj09663
-- 发布时间:2011/5/25 19:29:00
--
很 好的 谢谢你了 是啊 我现在 也在为 这么大的数据量 头痛着 这 5w 多 只是针对未来3个月的订单量 如果要做到真正意义上的物料需求 基本上要在这个基础上增加 3.4倍 保存这个头痛的事 哎 麻烦你再教教我别的方法看
[此贴子已经被作者于2011-5-25 19:37:30编辑过]
|
-- 作者:blackzhu
-- 发布时间:2011/5/25 20:01:00
--
With Tables("表A") For i As Integer = .Rows.Count -1 To 0 Step -1 Dim r1 As Row = .Rows(i) Dim r2 As Row = Tables("表B").AddNew For Each c As Col In .Cols r2(c.name) = r1(c.name) Next r1.Delete Next End With
这个要在表结构一样的情况下起作用.
|
-- 作者:blackzhu
-- 发布时间:2011/5/25 20:02:00
--
复制所有行的按钮代码.如果本表不要删除,请删除 r1.Delete 这句代码.
|
-- 作者:xmj09663
-- 发布时间:2011/5/25 20:07:00
--
经测试 blackzhu 你的代码 速度 慢 68 慢 还不如我前面的呢 哎 悲剧啊
|
-- 作者:blackzhu
-- 发布时间:2011/5/25 20:20:00
--
不会吧
你本来就有5W条数据呢
|