以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教:表之间的遍历赋值  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=74112)

--  作者:bahamute
--  发布时间:2015/9/2 15:16:00
--  请教:表之间的遍历赋值

两张后台临时表A和B,表A记录除考勤信息外所有数据,表B是考勤信息,现在要将表B里的数据根据工号列写入表A对应记录,
该如何写遍历赋值语句?
[此贴子已经被作者于2015/9/2 15:24:24编辑过]

--  作者:新福星
--  发布时间:2015/9/2 15:24:00
--  
dim r as datarow
for each a as row in tables("B").rows
r=datatables("A").SQlFind("工号=\'" & a("工号“) & "\'") ‘外部数据源
r=datatables("A").Find("工号=\'" & a("工号“) & "\'")  ’内部数据源或外部数据源的数据已经load到内存中
if r isnot nothing then
赋值
r.save
end if
next

--  作者:bahamute
--  发布时间:2015/9/2 15:30:00
--  
谢谢回复
这么赋值,感觉效率好像低点,如果有2千条记录,就得能感觉出慢来了。

--  作者:大红袍
--  发布时间:2015/9/2 16:19:00
--  

效率低,是因为赋值和find同时执行,

 

先看看 http://www.foxtable.com/help/topics/2225.htm

 

再看看 http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=72163&authorid=0&page=0&star=3

 

最好,就是用sql语句执行,尽量不要用代码


--  作者:bahamute
--  发布时间:2015/9/2 16:45:00
--  
意思是直接用sql语句多表查询,貌似这种方法效率最高。
研究一下。