以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]批量同步逻辑列的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=147345)

--  作者:1669607010
--  发布时间:2020/3/14 15:51:00
--  [求助]批量同步逻辑列的问题
现在外部表里有个产品列和一个逻辑列,需求是当修改某一行的逻辑列时,整个表产品列相同的行的逻辑列同时都修改,还有就是表的行数很多,默认加载100行,但我希望后台的符合条件的行也能同步修改,哪位老师看看应该怎么解决?
--  作者:有点蓝
--  发布时间:2020/3/14 15:59:00
--  
datacolchanged事件

If e.DataCol.Name = "已结帐" Then
  
e.datatable.replacefor("已结帐",e.newvalue,"产品=\'" & e.datarow("产品") & "\'")
  e.datatable.sqlreplacefor("已结帐",e.newvalue,"产品=\'" & e.datarow("产品") & "\'")
End If

--  作者:1669607010
--  发布时间:2020/3/14 16:20:00
--  
 谢谢老师指导,已经完美解决,但还是有点不明白,我以前用的下面的代码怎么不行?
我原来想的是,先重新加载所有行,然后在修改符合条件的行。这样错在哪里?
If e.DataCol.Name = "是否清批" Then
  e.DataTable.LoadFilter = "[_Identify] Is Not Null"
            e.DataTable.Save()                    

e.DataTable.replacefor("清批锁定",e.newvalue,"原料货号=\'" & e.DataRow("原料货号") & "\'")


End If      


--  作者:有点蓝
--  发布时间:2020/3/14 16:24:00
--  
一般不要在表事件里重新加载自己,会迷失的。
--  作者:1669607010
--  发布时间:2020/3/14 16:27:00
--  
明白了