以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]代码效率的问题,求思路和方法 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=144161) |
-- 作者:爱好所有 -- 发布时间:2019/12/12 14:16:00 -- [求助]代码效率的问题,求思路和方法 如下图这种遍历和赋值,不是同一个表数据量又大(3万多条)如何写代码有效率呢?这样写代码每次都要20分钟左右。 |
-- 作者:有点蓝 -- 发布时间:2019/12/12 14:38:00 -- 看看:http://www.foxtable.com/webhelp/topics/2225.htm 数据多建议使用sql直接更新:http://www.foxtable.com/webhelp/topics/0690.htm
|
-- 作者:爱好所有 -- 发布时间:2019/12/12 14:47:00 -- 谢谢!帮助的查询和赋值我看过是同一表才行,看样子要学SQL代码写法了,如果直接用SQL代码会快些吗? |
-- 作者:有点蓝 -- 发布时间:2019/12/12 14:56:00 -- 快非常多,3W行数据估计不到1秒。没看错,不到1秒 |
-- 作者:爱好所有 -- 发布时间:2019/12/14 13:03:00 -- 我去看了一下SQL方法,一时间也写不出来,有点大师能帮我写一下这种代码的SQL代码吗?这种遍历查询判断后赋值的SQL代码真写不来,我想做个例子好快速掌握使用,谢谢! [此贴子已经被作者于2019/12/14 13:12:15编辑过]
|
-- 作者:有点蓝 -- 发布时间:2019/12/14 13:28:00 -- 请上传实例说明。sql比如 update 表A set 表A.第一列=表B.第一列 from 表A inner join 表B where 表A.编号=表B.编号 and 表A.第一列 isnot null
|
-- 作者:pyh6918 -- 发布时间:2019/12/14 15:43:00 -- 我也是这个方法遍历,我发现了一个有趣的现象,在代码执行的时候,当前表如果不是被遍历的表,那么速度会提高一大截。(可能是绘制浪费时间) 最好在FOR EACH内加入Application.DoEvents,并用一个标签记数,可以直观的看到进度。
|
-- 作者:爱好所有 -- 发布时间:2019/12/14 23:34:00 -- 有点大师SQL代码有个错误,不应该where而是on [此贴子已经被作者于2019/12/14 23:37:24编辑过]
|