以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  跨表引用有条件更新  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=87302)

--  作者:漂亮美眉vszh
--  发布时间:2016/7/7 19:54:00
--  跨表引用有条件更新

根据帮助做的,但总是失败,不知道什么原因,当 “核销” = true  时锁定行

If e.DataCol.Name = "姓名"
    Dim Filter As String = "[员工编号] = \'" & e.DataRow("员工编号") & "\' And 核销 = False"
    Dim drs As List(Of DataRow) = DataTables("开模明细").Select(Filter)
    For Each dr As DataRow In drs
        If dr.Locked = False Then
            DataTables("开模明细").DataCols("员工编号").RaiseDataColChanged(dr)
        End If
    Next
End If


图片点击可在新窗口打开查看此主题相关图片如下:111.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看

--  作者:漂亮美眉vszh
--  发布时间:2016/7/7 19:55:00
--  
当业务员姓名更改后,已核销锁定的行  姓名不变,=FALSE的行变更~~
--  作者:大红袍
--  发布时间:2016/7/7 20:04:00
--  

试试

 

If e.DataCol.Name = "姓名"
    Dim Filter As String = "[员工编号] = \'" & e.DataRow("员工编号") & "\' And (核销 = False or 核销 is null)"
    DataTables("开模明细").DataCols("员工编号").RaiseDataColChanged(filter)
End If


--  作者:漂亮美眉vszh
--  发布时间:2016/7/7 21:15:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:111111.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:222222.png
图片点击可在新窗口打开查看

--  作者:漂亮美眉vszh
--  发布时间:2016/7/7 21:16:00
--  
奇怪了,不知道哪里错了~~
--  作者:大红袍
--  发布时间:2016/7/7 23:48:00
--  

 

肯定是只会触发满足条件的数据行的。

 

上传foxtable例子具体说明,引用数据的代码肯定没写对。