Foxtable(狐表)用户栏目专家坐堂 → [求助]求代码优化


  共有2257人关注过本帖树形打印复制链接

主题:[求助]求代码优化

帅哥哟,离线,有人找我吗?
ybmjy
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:428 积分:4711 威望:0 精华:3 注册:2009/7/4 13:40:00
[求助]求代码优化  发帖心情 Post By: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
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:428 积分:4711 威望:0 精华:3 注册:2009/7/4 13:40:00
  发帖心情 Post By:2016/10/28 20:44:00 [只看该作者]

高手些都不出山了图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
freeants
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:572 积分:3771 威望:0 精华:0 注册:2014/5/8 13:41:00
  发帖心情 Post By:2016/10/28 20:56:00 [只看该作者]

为啥 不把 两个 判断条件 合并呢,  试试 DataTables("总人口信息").ReplaceFor 看看,是否会快点

 回到顶部
帅哥哟,离线,有人找我吗?
ybmjy
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:428 积分:4711 威望:0 精华:3 注册:2009/7/4 13:40:00
  发帖心情 Post By:2016/10/28 21:18:00 [只看该作者]

是这样吗?

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

 

仍然解决不了问题


 回到顶部
帅哥哟,离线,有人找我吗?
y2287958
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:4650 积分:33912 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2016/10/28 21:25:00 [只看该作者]

理解不了你的逻辑,最好做个例子并详细说明

 回到顶部
帅哥哟,离线,有人找我吗?
ybmjy
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:428 积分:4711 威望:0 精华:3 注册:2009/7/4 13:40:00
  发帖心情 Post By:2016/10/28 21:36:00 [只看该作者]

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


 回到顶部
帅哥哟,离线,有人找我吗?
ybmjy
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:428 积分:4711 威望:0 精华:3 注册:2009/7/4 13:40:00
  发帖心情 Post By: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
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:4650 积分:33912 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By: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
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:428 积分:4711 威望:0 精华:3 注册:2009/7/4 13:40:00
  发帖心情 Post By:2016/10/28 22:26:00 [只看该作者]

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

 

 

 

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

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

 回到顶部
帅哥哟,离线,有人找我吗?
zcgmxf
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1636 积分:14489 威望:0 精华:0 注册:2014/6/6 8:42:00
  发帖心情 Post By:2016/10/28 22:59:00 [只看该作者]

试试看: 

 

 

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

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

 回到顶部
总数 12 1 2 下一页