以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  如何对子表中部分数据求和  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=93282)

--  作者:wangj6666
--  发布时间:2016/11/24 15:46:00
--  如何对子表中部分数据求和
子表数据如附件:
我想在父表中有一列设置表达式对子表中“折补”的两行进行求和,请教各位大师,表达式应该如何编写?谢谢!
图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20161124152545.png
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2016/11/24 15:48:00
--  
表达式只能对所有关联子行进行求和,没有办法指定条件。
--  作者:wangj6666
--  发布时间:2016/11/24 16:05:00
--  
谢谢回复!那有没有别的办法能实现这个目的呢?
--  作者:有点蓝
--  发布时间:2016/11/24 16:34:00
--  
改为数据列,用代码计算,参考:http://www.foxtable.com/webhelp/scr/0393.htm
--  作者:wangj6666
--  发布时间:2017/3/5 14:44:00
--  
你好!
     能不能详细的结合我的图片,给个详细的代码。因为我试了几次都不能成功,提示“未知错误”。谢谢!

--  作者:wolfcraft
--  发布时间:2017/3/5 14:55:00
--  
我也发现同样的问题,不知道如何处理:
表1:【项目进度】
表2:【出入库台帐设备】
通过“项目编码”建立【项目进度】和【出入库台帐设备】的关联
项目进度  中有列:“电度表”,“计量互感器”,“PDU模块”
出入库台帐设备  中有列:“物料子类1”,“数量”;“物料子类1” 的选项值有:“电度表”,“计量互感器”,“PDU模块”,且对于项目进度中的每个项目(编码)有多个行,现如何将【出入库台帐设备】表中的“物料子类1”进行“数量”自动统计汇总赋值给【项目进度】表中的“电度表”,“计量互感器”,“PDU模块”列?
例如: 深圳博达大厦充电项目  中  “PDU模块”列的值为 【出入库台帐设备】表中“物料子类1”=“PDU模块”对应的出库数量-入库数量

我的求助帖子:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=97062&replyID=&skin=1

--  作者:狐狸爸爸
--  发布时间:2017/3/5 17:22:00
--  
子表数据条件求和:
http://www.foxtable.com/webhelp/scr/2472.htm


--  作者:有点色
--  发布时间:2017/3/5 21:55:00
--  
以下是引用wangj6666在2017/3/5 14:44:00的发言:
你好!
     能不能详细的结合我的图片,给个详细的代码。因为我试了几次都不能成功,提示“未知错误”。谢谢!

 

子表datacolchanged事件

 

Select Case e.DataCol.name
    Case "数量SF", "细分类"
        Dim dr As DataRow
        dr = e.DataRow.GetParentRow("父表名")
        If dr IsNot Nothing
            dr("统计") = e.DataTable.Compute("sum(数量SF)", "关联列 = \'" & e.DataRow("关联列") & "\'")
        End If
End Select


--  作者:wangj6666
--  发布时间:2017/3/6 9:09:00
--  
您好!
      我编写了以下代码,能够进行自动计算,但计算的结果数据不对。是不是还有哪个地方不对?我的代码如下:
Select Case e.DataCol.name
    Case "数量SF", "细分类"
        Dim dr As DataRow
        dr = e.DataRow.GetParentRow("量产订单")
        If dr IsNot Nothing
            dr("实际折补数量") = e.DataTable.Compute("sum(数量SF)", "订购单号 = \'" & e.DataRow("订购单号") & "\'and 公司产品编号 = \'" & e.DataRow("公司产品编号") & "\'and 细分类 = \'折补\'")
        End If
End Select

--  作者:有点色
--  发布时间:2017/3/6 9:33:00
--  

 重置列,计算也不对? http://www.foxtable.com/webhelp/scr/1469.htm

 

 代码没错,有问题上传具体项目