以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]求代码优化  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=92213)

--  作者:ybmjy
--  发布时间:2016/10/28 20:28:00
--  [求助]求代码优化


图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20161028212243.png
图片点击可在新窗口打开查看
For Each dr As DataRow In DataTables("总人口信息").Select("与户主关系 = \'户主\'")
    For Each cdr As DataRow In DataTables("总人口信息").Select("户号 = \'" & dr("户号") & "\'")
        cdr("户主姓名") = dr("姓名")
    Next
Next

 

上述代码运行太慢了,5万行数据不知等好久,都没耐心等了,哪位大师帮优化一下吧

[此贴子已经被作者于2016/10/28 21:24:18编辑过]

--  作者:ybmjy
--  发布时间:2016/10/28 20:44:00
--  
高手些都不出山了图片点击可在新窗口打开查看
--  作者:freeants
--  发布时间:2016/10/28 20:56:00
--  
为啥 不把 两个 判断条件 合并呢,  试试 DataTables("总人口信息").ReplaceFor 看看,是否会快点
--  作者:ybmjy
--  发布时间:2016/10/28 21:18:00
--  

是这样吗?

For Each dr As DataRow In DataTables("总人口信息").Select("与户主关系 = \'户主\'")
   DataTables("总人口信息").ReplaceFor("户主姓名", dr("姓名"), "[户号] = \'" & dr("户号") & "\'")
Next

 

仍然解决不了问题


--  作者:y2287958
--  发布时间:2016/10/28 21:25:00
--  
理解不了你的逻辑,最好做个例子并详细说明
--  作者:ybmjy
--  发布时间:2016/10/28 21:36:00
--  

就是把户号相同的户,在户主姓名字段中全部填上本户户主的那个人的姓名


--  作者:ybmjy
--  发布时间:2016/10/28 21:37:00
--  

For Each dr As DataRow In DataTables("总人口信息").Select("与户主关系 = \'户主\'")
    For Each cdr As DataRow In DataTables("总人口信息").Select("户号 = \'" & dr("户号") & "\'")
        cdr("户主姓名") = dr("姓名")
    Next
Next

 

这个代码是正确的,就是太慢太慢,无法忍受


--  作者:y2287958
--  发布时间:2016/10/28 21:52:00
--  
For Each dr As DataRow In DataTables("总人口信息").Select("与户主关系 = \'户主\'")
    DataTables("总人口信息").ReplaceFor("户主姓名",dr("姓名"),"户号 = \'" & dr("户号") & "\'")
Next

试试上面这个,另外参考http://www.foxtable.com/webhelp/scr/2219.htm
如果还是不行,只能上例子了
[此贴子已经被作者于2016/10/28 22:21:33编辑过]

--  作者:ybmjy
--  发布时间:2016/10/28 22:26:00
--  

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目4.table

 

 

 

最主要是5万条数据 太慢太慢

[此贴子已经被作者于2016/10/28 22:26:07编辑过]

--  作者:zcgmxf
--  发布时间:2016/10/28 22:59:00
--  

试试看: 

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目12.table

[此贴子已经被作者于2016/10/29 0:14:27编辑过]