以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 代码 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=158625) |
||||||||
-- 作者:13775189031 -- 发布时间:2020/11/27 8:46:00 -- 代码
父表“管道成套项目采购管理台账”中的列“材料到齐”、“复验合格”、“领料完成” 代码设置的是子表中所有行符合条件后自动勾选 父表“管道成套项目采购管理台账”新增行,填写完预算编号后,子表中还未填写相关信息,“材料到齐”和“领料完成”就已经自动勾选了,是什么问题? 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了 谢谢 |