以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]一段代码,老师看看如何写好点  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=62033)

--  作者:huangfanzi
--  发布时间:2014/12/24 13:30:00
--  [求助]一段代码,老师看看如何写好点
代码如下:
DataTables("原料采购入库明细").Load
For Each dr As DataRow In DataTables("原料采购入库通知").dataRows
    DataTables("原料采购入库通知明细").ReplaceFor("是否制单", True, "[通知单号] = \'" & dr("通知单号") & "\'")
Next
功能:明细表上的通知单号如果在通知单表中找到,说明已经制单,此时将是否制单列改为TRUE
疑问:这样写代码执行效率好吗?看到FOR Each语句我就感觉一但表的数据多了,效率会很低,老师有更好的方法写这一段代码吗?
缺陷:这段代码只能把“是否制单”列的FALSE改为TRUE,一但发生明细表将原有一行数据删除,通知单表对应记录的“是否制单”还是TRUE,这个问题如何解决?
谢谢老师!!!

--  作者:有点甜
--  发布时间:2014/12/24 14:04:00
--  

 跨表引用或统计,参考 http://www.foxtable.com/help/topics/2235.htm

 

 如果不知道怎么做,就请上传例子。


--  作者:Bin
--  发布时间:2014/12/24 14:05:00
--  
每次加载表都要遍历一次? 有必要吗?

直接在DataColChanged事件在每次修改数据的时候单独处理一行不是效率更好么.