以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]把一个表的数据复制到另一个表,有数据的转换,效率很慢!  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=31115)

--  作者:ysq128
--  发布时间:2013/4/10 13:42:00
--  [求助]把一个表的数据复制到另一个表,有数据的转换,效率很慢!
我目前的用时为307秒
Dim st As Date = Date.Now
DataTables("库存尺码转换").DeleteFor("")
For Each dr As DataRow In DataTables("库存").DataRows
    Dim 尺码组 As String() = {"S1","S2","S3","S4","S5","S6","S7","S8","S9","S10","S11","S12","S13","S14"}
    For Each 尺码 As String In 尺码组
        If dr(尺码)<>0 Then \'如果有库存
            Tables("尺码组").Filter="尺码类别=\'" & dr("尺码组") & "\'"
            Dim add As Row
            add=Tables("库存尺码转换").AddNew()
            Dim tm As String=dr("货号") & dr("颜色编码") & Tables("尺码组").Current(尺码)
            add("条形码")=tm.Replace(" ","")
            add("数量")=dr(尺码)
        End If
    Next
Next
DataTables("库存尺码转换").Save
MessageBox.Show("耗时: " & (Date.Now - st).TotalSeconds & "秒")

图片点击可在新窗口打开查看此主题相关图片如下:snap1.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:snap2.jpg
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试转换.rar


[此贴子已经被作者于2013-4-10 13:44:29编辑过]

--  作者:Bin
--  发布时间:2013/4/10 14:48:00
--  
你这该考虑分页加载了.打开都半天- -
--  作者:Bin
--  发布时间:2013/4/10 14:50:00
--  
这么大的数据 你批量转换的话再怎么优化也有限度. 你不会经常要这样转换吧? 如果只是一次性 慢点也无所谓啊.
--  作者:Bin
--  发布时间:2013/4/10 14:53:00
--  
由于没有你源数据没办法帮你测试你可以参考帮助文档里的.