以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  多条件跨表求和  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=108513)

--  作者:有点甜
--  发布时间:2017/10/24 15:05:00
--  

多少个条件都可以,参考

 

http://www.foxtable.com/webhelp/scr/1647.htm

 

http://www.foxtable.com/webhelp/scr/1454.htm

 


--  作者:有点甜
--  发布时间:2017/10/24 16:43:00
--  

Select Case e.DataCol.name
    Case "成品编码", "工序号", "毛坯编码"
        e.DataRow("完成数量") = DataTables("毛坯工序状态表").Compute("Sum(完成数量)","成品编码 = \'" & e.DataRow("") & "\' and 毛坯编码 = \'" & e.DataRow("毛坯编码") & "\'")
End Select


--  作者:有点甜
--  发布时间:2017/10/24 17:15:00
--  

下面的代码,你写到 毛坯工序状态表 datacolchanged事件,然后你重置 成品编码 列,就会重新计算。

 

Select Case e.DataCol.name
    Case "成品编码", "工序号", "毛坯编码"
        e.DataRow("完成数量") = DataTables("工序跟踪表").Compute("Sum(完成数量)","成品编码 = \'" & e.DataRow("") & "\' and 毛坯编码 = \'" & e.DataRow("毛坯编码") & "\'")
End Select


--  作者:有点蓝
--  发布时间:2017/10/24 20:35:00
--  
e.DataRow("完成数量") = DataTables("工序跟踪表").Compute("Sum(完成数量)","成品编码 = \'" & e.DataRow("成品编码") & "\' and 毛坯编码 = \'" & e.DataRow("毛坯编码") & "\'")
--  作者:有点蓝
--  发布时间:2017/10/24 20:56:00
--  
不需要。旧数据重置一次就好,然后保存。新录入的会触发事件自动计算
--  作者:有点蓝
--  发布时间:2017/10/24 22:11:00
--  
代码不完整,参考:http://www.foxtable.com/webhelp/scr/1472.htm
--  作者:有点蓝
--  发布时间:2017/11/4 8:47:00
--  
Dim Filter As String = "[成品编码] = \'" & e.datarow("成品编码") & "\'"."[生产批次] = \'" & e.datarow("生产批次") & "\'"
."[加工工序] = \'" & e.datarow("加工工序") & "\'"

--  作者:有点蓝
--  发布时间:2017/11/4 11:56:00
--  
Dim Filter As String = "[成品编码] = \'" & e.datarow("成品编码") & "\' and [生产批次] = \'" & e.datarow("生产批次") & "\' and [加工工序] = \'" & e.datarow("加工工序") & "\'"
--  作者:有点蓝
--  发布时间:2017/11/4 14:08:00
--  
If e.DataCol.Name = "合格品" OrElse e.DataCol.Name = "不合格品" OrElse e.DataCol.Name = "报废品" Then 

改为

If e.DataCol.Name = "成品编码" OrElse e.DataCol.Name = "生产批次" OrElse e.DataCol.Name = "加工工序" Then