以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  组合多个统计结果的垂直汇总问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=75387)

--  作者:douglas738888
--  发布时间:2015/10/7 15:42:00
--  组合多个统计结果的垂直汇总问题
请老师帮看看,GroupTableBuilder尽管用到垂直汇总的时候不多,但有时也会遇到,以下代码在窗口表中可显示垂直汇总统计,但进入专业报表按钮后不显示垂直汇总数据,请教老师,谢谢!!

Dim bd1 As New GroupTableBuilder("统计表003",DataTables("工作物品入库"))
Dim dt1 As fxDataSource
bd1.Groups.AddDef("物品名称") \'根据名称分组
bd1.Totals.AddDef("数量","入库_数量") \'对数量进行统计
bd1.Totals.AddDef("物品金额","入库_物品金额") \'对金额进行统计
bd1.Filter = "入库日期 >= #" & e.Form.Controls("DateTimePicker1").Value & "# And 入库日期 <= #" & e.Form.Controls("DateTimePicker2").Value & "#"
dt1 = bd1.BuildDataSource()

Dim bd2 As New GroupTableBuilder("统计表004",DataTables("工作物品出库"))
Dim dt2  As fxDataSource
bd2.Groups.AddDef("物品名称") \'根据名称分组
bd2.Totals.AddDef("数量","出库_数量") \'对数量进行统计
bd2.Totals.AddDef("物品金额","出库_物品金额") \'对金额进行统计
bd2.Filter = "出库日期 >= #" & e.Form.Controls("DateTimePicker1").Value & "# And 出库日期 <= #" & e.Form.Controls("DateTimePicker2").Value & "#"
dt2 = bd2.BuildDataSource()

dt1.Combine("物品名称",dt2,"物品名称") \'将出库统计数据组合到入库统计数据

Tables("物品库存动态统计_Table1").DataSource = dt1 \'将统计结果绑定到Table
With DataTables("物品库存动态统计_Table1").DataCols  \'用表达式列计算库存数据
    .Add("库存_数量",Gettype(Integer), "IsNull([入库_数量],0) - ISNULL([出库_数量],0)")
    .Add("库存_物品金额",Gettype(Double), "[库存_数量] /[入库_数量] * [入库_物品金额]") 
Tables("物品库存动态统计_Table1").Cols("入库_数量").GrandTotal = True
Tables("物品库存动态统计_Table1").Cols("出库_数量").GrandTotal = True
Tables("物品库存动态统计_Table1").Cols("库存_数量").GrandTotal = True
Tables("物品库存动态统计_Table1").Cols("入库_物品金额").GrandTotal = True
Tables("物品库存动态统计_Table1").Cols("出库_物品金额").GrandTotal = True
Tables("物品库存动态统计_Table1").Cols("库存_物品金额").GrandTotal = True
Tables("物品库存动态统计_Table1").GrandTotal = True \'显示合计模式
End With

--  作者:大红袍
--  发布时间:2015/10/7 15:45:00
--  

正常啊,合计的内容,不是表里面的内容。改成如这样。

 

Dim nr As Row = Tables("物品库存动态统计_Table1").AddNew

nr("入库_数量") = Tables("物品库存动态统计_Table1").Compute("sum(入库_数量)")

nr("出库_数量") = Tables("物品库存动态统计_Table1").Compute("sum(出库_数量)")