Dim bd1 As New SqlGroupTableBuilder("统计表1", "出库明细")
Dim dt1 As fxDataSource
bd1.Groups.AddDef("品牌")'根据型号分组
'bd1.Groups.AddDef("出库商场")'根据型号分组
'bd1.Groups.AddDef("单价")'根据型号分组
bd1.Groups.AddDef("备注")'根据型号分组
bd1.Totals.AddDef("数量", "入库_数量")'对数量进行统计
bd1.Totals.AddExp("金额", "数量*单价", "入库_金额")'对金额进行统计
bd1.Filter = Filter
bd1.SubtotalLevel = 1
dt1 = bd1.BuildDataSource()
Dim bd2 As New SqlGroupTableBuilder("统计表2", "退货明细")
Dim dt2 As fxDataSource
bd2.Groups.AddDef("品牌")'根据型号分组
'bd2.Groups.AddDef("退货商场")'根据型号分组
bd2.Totals.AddDef("数量", "退货_数量")'对数量进行统计
bd2.Totals.AddExp("金额", "数量*单价", "退货_金额")'对金额进行统计
bd2.Filter = Filter1
dt2 = bd2.BuildDataSource()
Dim bd3 As New SqlGroupTableBuilder("统计表3", "销售资料")
Dim dt3 As fxDataSource
bd3.Groups.AddDef("品牌")'根据型号分组
'bd3.Groups.AddDef("销售商场")'根据型号分组
bd3.Totals.AddDef("数量", "销售_数量")'对数量进行统计
bd3.Totals.AddDef("吊牌单价", "销售_应售金额")'对数量进行统计
bd3.Totals.AddDef("销售单价", "销售_实售金额")'对金额进行统计
bd3.Filter = Filter3
dt3 = bd3.BuildDataSource()
Dim bd4 As New SqlGroupTableBuilder("统计表4", "出库明细")
Dim dt4 As fxDataSource
bd4.Groups.AddDef("品牌")'根据型号分组
bd4.Totals.AddDef("数量", "出库期初_数量")'对数量进行统计
bd4.Totals.AddExp("金额", "数量*单价", "出库期初_金额")'对金额进行统计
bd4.Filter = Filter4
dt4 = bd4.BuildDataSource()
Dim bd5 As New SqlGroupTableBuilder("统计表5", "退货明细")
Dim dt5 As fxDataSource
bd5.Groups.AddDef("品牌")'根据型号分组
bd5.Totals.AddDef("数量", "退货期初_数量")'对数量进行统计
bd5.Totals.AddExp("金额", "数量*单价", "退货期初_金额")'对金额进行统计
bd5.Filter = Filter5
dt5 = bd5.BuildDataSource()
Dim bd6 As New SqlGroupTableBuilder("统计表6", "销售资料")
Dim dt6 As fxDataSource
bd6.Groups.AddDef("品牌")'根据型号分组
bd6.Totals.AddDef("数量", "销售期初_数量")'对数量进行统计
bd6.Totals.AddDef("吊牌单价", "销售期初_应售金额")'对数量进行统计
bd6.Totals.AddDef("销售单价", "销售期初_实售金额")'对金额进行统计
bd6.Filter = Filter6
dt6 = bd6.BuildDataSource()
dt1.Combine("品牌", dt2, "品牌")'将销售统计数据组合到出货统计数据
dt1.Combine("品牌", dt3, "品牌")
dt1.Combine("品牌", dt4, "品牌")
dt1.Combine("品牌", dt5, "品牌")
dt1.Combine("品牌", dt6, "品牌")
Tables("统计查询_Table1").DataSource = dt1 '将统计结果绑定到Table
With DataTables("统计查询_Table1").DataCols '用表达式列计算库存数据
.Add("期初_数量", GetType(Integer), "IsNull([出库期初_数量], 0) - IsNull([销售期初_数量], 0) - IsNull([退货期初_数量], 0)")
.Add("期初_金额", GetType(Double), "IsNull([出库期初_金额], 0) - IsNull([退货期初_金额], 0) - IsNull([销售期初_应售金额], 0)")
.Add("库存_数量", GetType(Integer), "IsNull([期初_数量], 0) + IsNull([入库_数量], 0) - IsNull([退货_数量], 0)-IsNull([销售_数量], 0)")
.Add("库存_金额", GetType(Double), "IsNull([期初_金额], 0) + IsNull([入库_金额], 0) - IsNull([退货_金额], 0) - IsNull([销售_应售金额], 0)")
End With
Dim g As SubtotalGroup '定义一个新的分组
g = New SubtotalGroup
g.GroupOn = "品牌" '分组列为客户
g.TotalOn = "期初_数量,期初_金额,入库_数量,入库_金额,退货_数量,退货_金额,销售_数量,销售_应售金额,销售_实售金额,库存_数量,库存_金额" '对数量和金额进行统计
g = New SubtotalGroup
g.GroupOn = "*" '分组列为客户
g.TotalOn = "期初_数量,期初_金额,入库_数量,入库_金额,退货_数量,退货_金额,销售_数量,销售_应售金额,销售_实售金额,库存_数量,库存_金额" '对数量和金额进行统计
With Tables("统计查询_Table1")
.SubtotalGroups.Clear() '清除原有的分组
.SubtotalGroups.Add(g) '加入刚刚定义的分组
.Subtotal() '生成汇总模式
End With
老师分组统计,表达式金额这样用不可以吗,,,下面统计的时候提示表没有 入库金额 是什么原因啊