以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  引用父表数据  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=129639)

--  作者:qinlao666
--  发布时间:2019/1/3 9:56:00
--  引用父表数据
Select Case e.DataCol.name
    Case "合格数量","不合格数量"
        Dim filter As String = "请购单号 = \'" & e.DataRow("请购单号") & "\' and 工艺 = \'" & e.DataRow("工艺") & "\'"
        Dim sum1 As Double = e.DataTable.Compute("sum(Parent(生产加工主表_生产加工明细).领料数量)-sum(合格数量)-sum(不合格数量))", filter)
        e.DataTable.ReplaceFor("在制数量", sum1, filter)
End Select

麻烦老师帮忙修改一下代码,报错
调用的目标发生了异常。
聚合参数中的语法错误: 需要具有可能的“Child”限定符的单个列参数。

--  作者:有点甜
--  发布时间:2019/1/3 9:59:00
--  

Compute只能统计一列的值。而且只能统计本表的列。

 

Dim sum1 As Double = e.DataTable.Compute("sum(领料数量)", filter)

Dim sum2 As Double = e.DataTable.Compute("sum(合格数量)", filter)

Dim sum3 As Double = e.DataTable.Compute("sum(不合格数量)", filter)


--  作者:qinlao666
--  发布时间:2019/1/3 10:28:00
--  
Select Case e.DataCol.name
    Case "合格数量","不合格数量"
        Dim filter As String = "请购单号 = \'" & e.DataRow("请购单号") & "\' and 工艺 = \'" & e.DataRow("工艺") & "\'"
        Dim sum1 As Double = e.DataTable.Compute("sum(合格数量) + sum(不合格数量)", filter)
        e.DataTable.ReplaceFor("在制数量", sum1, filter)
End Select
老师,上述代码这样统计是没问题的。
后一步我想引用父表的投料数量 - sum1,并将结果填在在制数量里。、
求代码,谢谢



--  作者:有点甜
--  发布时间:2019/1/3 10:40:00
--  

统计父表的数据,参考

 

DataTables("父表").compute("sum(领料数量)", "请购单号 = \'" & e.DataRow("请购单号") & "\' and 工艺 = \'" & e.DataRow("工艺") & "\'")