以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  跨表引用自动更新为何无效?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=72400)

--  作者:hnpykfq123
--  发布时间:2015/7/29 17:53:00
--  跨表引用自动更新为何无效?
下列代码在跨表引用自动更新中为何无效?
If e.DataCol.Name = "产品单价"
    Dim Filter As String = "[产品编号] = \'" & e.DataRow("产品编号") & "\'"
    DataTables("订单表2").ReplaceFor("产品单价", e.NewValue, Filter)
End If

--  作者:大红袍
--  发布时间:2015/7/29 17:54:00
--  

你是说上面的代码没有执行?

 

加入msgbox看弹出什么

 

msgbox(e.DataCol.Name )

If e.DataCol.Name = "产品单价"
    Dim Filter As String = "[产品编号] = \'" & e.DataRow("产品编号") & "\'"
    msgbox(filter)
    DataTables("订单表2").ReplaceFor("产品单价", e.NewValue, Filter)
End If

--  作者:hnpykfq123
--  发布时间:2015/7/29 18:01:00
--  
是的,上述代码未执行。
加入messagebox后,鼠标点击“产品编号”列,就显示“产品编号”对话框。

--  作者:大红袍
--  发布时间:2015/7/29 18:04:00
--  
 你1楼的代码,是你修改了本表的单价列,才会触发代码执行的。
--  作者:hnpykfq123
--  发布时间:2015/7/29 18:06:00
--  能解释下代码含义吗?
上述代码的含义不是十分明了,是从开发指南搬移过来测试的,能解释下代码含义吗?
--  作者:大红袍
--  发布时间:2015/7/29 18:10:00
--  
如果修改了单价列,就执行下面的代码,下面的代码是,去订单表2查找对应的编号,把单价改成你修改的单价