以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  代码  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=158625)

--  作者:13775189031
--  发布时间:2020/11/27 8:46:00
--  代码
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:物资部管理台账.rar

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:物资部管理台账.foxdb

父表“管道成套项目采购管理台账”中的列“材料到齐”、“复验合格”、“领料完成”
代码设置的是子表中所有行符合条件后自动勾选

父表“管道成套项目采购管理台账”新增行,填写完预算编号后,子表中还未填写相关信息,“材料到齐”和“领料完成”就已经自动勾选了,是什么问题?
85605068
请老师帮忙看看什么原因

--  作者:有点蓝
--  发布时间:2020/11/27 8:55:00
--  
去掉材料到齐”和“领料完成”统计里【Or 未到货数量 Is null】这个条件
--  作者:13775189031
--  发布时间:2020/11/27 8:59:00
--  
试了,还是会自动勾选


--  作者:有点蓝
--  发布时间:2020/11/27 9:00:00
--  
材料到齐”和“领料完成”的计算逻辑是什么?
[此贴子已经被作者于2020/11/27 9:00:29编辑过]

--  作者:13775189031
--  发布时间:2020/11/27 9:11:00
--  
子表中的“未到货数量”全部为0,父表中的“材料到齐”自动勾选
--  作者:有点蓝
--  发布时间:2020/11/27 9:23:00
--  
Select Case e.DataCol.name
    Case "物资部预算编号"
        If e.DataRow.IsNull("物资部预算编号") Then
            DataTables("管道成套项目采购明细表").DeleteFor("物资部预算编号=\'" & e.DataRow("物资部预算编号") & "\'")
            e.DataRow("材料到齐") = False
            e.DataRow("复验合格") = False
            e.DataRow("领料完成") = False
        Else
            If e.DataRow.GetChildRows("管道成套项目采购明细表").Count > 0
                Dim cnt As Integer = DataTables("管道成套项目采购明细表").Compute("count(物资部预算编号)","物资部预算编号=\'" & e.NewValue  & "\' and (质保书状态=False or 理化检验结果=False)")
                e.DataRow("复验合格") = (cnt=0)
                cnt  = DataTables("管道成套项目采购明细表").Compute("count(物资部预算编号)","物资部预算编号=\'" & e.NewValue  & "\' and (未到货数量 = 0 Or 未到货数量 Is null)")
                e.DataRow("材料到齐") = (cnt=0)
                cnt  = DataTables("管道成套项目采购明细表").Compute("count(物资部预算编号)","物资部预算编号=\'" & e.NewValue  & "\' and (未领料数量 = 0 Or 未领料数量 Is null)")
                e.DataRow("领料完成") = (cnt=0)
            End If
            If e.OldValue Is Nothing
                Dim ndr As Row = Tables("管道成套项目采购明细表").AddNew
                ndr("物资部预算编号") = e.DataRow("物资部预算编号")
                ndr("销售合同编号") = e.DataRow("销售合同编号")
                ndr("预算日期") = e.DataRow("预算日期")
                ndr("项目名称") = e.DataRow("项目名称")
                ndr("预算确认") = e.DataRow("预算确认")
                ndr("编制人") = e.DataRow("编制人")
                ndr.Move(0)
            End If
        End If
End Select

--  作者:13775189031
--  发布时间:2020/11/27 9:55:00
--  
OK了
谢谢