以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  跨表统计  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=194293)

--  作者:13775189031
--  发布时间:2024/11/25 16:04:00
--  跨表统计
请教老师:“原材料采购明细表”中“到齐”列全部勾选,则“预算清单”中的“当前进展_完成"自动打钩,只要“原材料采购明细表”“到齐”列有任何一行未打钩,则“预算清单”中的“当前进展_完成"都不打钩
下面的代码有什么问题?“预算清单”没有自动勾选
Select Case e.DataCol.name
    Case "预算编号"
        If e.DataRow.IsNull("预算编号") Then
            DataTables("原材料采购明细表").DeleteFor("预算编号=\'" & e.DataRow("预算编号") & "\'")
            e.DataRow("当前进展_完成") = False
        Else
            If e.DataRow.GetChildRows("原材料采购明细表").Count > 0
                Dim cnt As Integer = DataTables("原材料采购明细表").Compute("count(预算编号)","预算编号=\'" & e.NewValue  & "\' and (到齐 = False )")
                e.DataRow("当前进展_完成") = (cnt=0)
            End If
        End If
End Select

--  作者:有点蓝
--  发布时间:2024/11/25 16:24:00
--  

"原材料采购明细表"datacolchanged事件

Select Case e.DataCol.Name
    Case
 "
到齐"
        
Dim pr As DataRow
        pr = 
DataTables("
预算清单").Find("预算编号 = \'" & e.DataRow("预算编号") & "\'")
        If
 pr IsNot Nothing Then
            DataTables
("
预算清单").DataCols("预算编号").RaiseDataColChanged(pr)
        End
 If
End
 Select

--  作者:13775189031
--  发布时间:2024/11/25 16:49:00
--  
很奇怪,点击“到齐”会自动增加一行

Dim dr2 As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "到货_数量"
        If dr2.IsNull("到货_数量") = False Then \'如果数量或单价为空
            dr2("收货人") = User.name
        Else
            dr2("收货人") = Nothing
        End If
    Case "到齐"
        Dim dr As DataRow = DataTables("预算清单").Find("[预算编号] = \'" & e.DataRow("预算编号") & "\'")
        If dr IsNot Nothing Then
            DataTables("预算清单").DataCols("预算编号").RaiseDataColChanged(dr)
        End If
End Select

--  作者:有点蓝
--  发布时间:2024/11/25 17:05:00
--  
和这里代码没有关系,检查其它地方代码