以文本方式查看主题

-  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=188072)

--  作者:lin98
--  发布时间:2023/8/30 23:08:00
--  数据更新问题

表A的字段:单号、料号、品名、规格、数量、审核

表B的字段:单号、料号、品名、规格、数量、审核

表C的字段:单号、料号、品名、规格、数量、审核

表D的字段:单号、料号、品名、规格、数量、审核


需求:如果表A的审核字段改变,同步更新表B、表C、表D的审核字段的数据,如何实现?



下面代码,无法实现

Select Case e.DataCol.name
    Case "料号"
        Dim dr As DataRow = DataTables("表B").Find("单号 = \'" & e.OldValue & "\' and 
料号 = \'" & e.OldValue & "\'")
        
If dr Is Nothing Then
            dr = DataTables(
"
表B").AddNew()
            dr(
"
审核") = e.DataRow("审核")
           

        Else
            dr(
"
料号") = e.DataRow("料号")
        End If
    Case 
"
品名","规格"
        Dim dr As DataRow = DataTables(
"
表B").Find.Find("单号 = \'" & e.OldValue & "\' and 料号 = \'" & e.OldValue & "\'")
        If dr IsNot Nothing Then
            dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
        
End If
End
 Select


--  作者:有点蓝
--  发布时间:2023/8/31 8:27:00
--  
Select Case e.DataCol.name
case "审核"
        Dim dr As DataRow = DataTables("表B").Find.Find("单号 = \'" & e.DataRow("单号") & "\' and 料号 = \'" & e.DataRow("料号") & "\'")
        If dr IsNot Nothing Then
            dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
        
End If
dr = DataTables("表C").Find.Find("单号 = \'" & e.DataRow("单号") & "\' and 料号 = \'" & e.DataRow("料号") & "\'")
        If dr IsNot Nothing Then
            dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
        
End If
End Select