以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  跨表汇总问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=139760)

--  作者:15666282205
--  发布时间:2019/8/20 21:08:00
--  跨表汇总问题
老师,实例中的汇总表是我手工填的,如何自动实现呢?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:跨表汇总合计实例.foxdb


--  作者:y2287958
--  发布时间:2019/8/20 21:51:00
--  
DataTables("汇总表").DataRows.Clear
For Each s As String In DataTables("明细表").GetValues("单位","单位 is not null")
    Dim dr As DataRow = DataTables("汇总表").AddNew
    dr("单位") = s
    dr("数量") = DataTables("明细表").Compute("Sum(数量)","单位=\'" & s & "\'")
Next

--  作者:15666282205
--  发布时间:2020/5/6 16:11:00
--  
老师,上面的代码只统计“单位”一列,还需要增加一列“产品”,按两列来统计,还需要增加一列“金额”,请老师帮忙改造一下代码。
--  作者:有点蓝
--  发布时间:2020/5/6 16:45:00
--  
DataTables("汇总表").DataRows.Clear
For Each s As String() In DataTables("明细表").GetValues("单位|产品","单位 is not null and 产品 is not null")
    Dim dr As DataRow = DataTables("汇总表").AddNew
    dr("单位") = s(0)
    dr("产品") = s(1)
    dr("数量") = DataTables("明细表").Compute("Sum(数量)","单位=\'" & s(0) & "\' and 产品 =\'" & s(1) & "\'")
    dr("金额") = DataTables("明细表").Compute("Sum(金额)","单位=\'" & s(0) & "\' and 产品 =\'" & s(1) & "\'")
Next