以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关联子表,列变化 了;为什么写在子表的DATECOLCHANGED不运作?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=121695)

--  作者:yancheng
--  发布时间:2018/7/11 17:36:00
--  关联子表,列变化 了;为什么写在子表的DATECOLCHANGED不运作?
Select Case e.DataCol.Name
    Case "调整系数","数量"
msgbox(1)
        If e.DataRow.IsNull(e.DataCol.Name) Then
            e.DataRow("计划用量")=Nothing
        Else
msgbox(0)
            e.DataRow("计划用量")=e.DataRow("数量")*e.DataRow("调整系数")
        End If
End Select

上面代码 ,写在表A的datacolchanged里面了;为什么B.A关联表中数据变了,表A的上面代码 不运作?要怎么改?

--  作者:yancheng
--  发布时间:2018/7/11 17:39:00
--  
哦,是因为,我上面还有    Case "单价","数量";
这个有点误导人哈。

--  作者:有点甜
--  发布时间:2018/7/11 17:40:00
--  

1、是关联表A.B还是关联表B.A?如果是B.A(A是子表),肯定会触发datacolchanged事件的,你试试在最顶部加入 msgbox(e.datacol.name) 看弹出什么


--  作者:有点甜
--  发布时间:2018/7/11 17:40:00
--  
2、要确定你修改的不是表达式列,表达式列不会触发datacolchanged事件的。