添加多个分组


假定要通过汇总模式,统计每个产品不同客户的采购的数量和金额,以及每个产品总的销售数量和金额,只需根据客户和产品分组,对数量和金额进行统计即可。

代码为:

Dim t As Table = Tables("订单")
Dim
g As SubtotalGroup
t.SubtotalGroups.Clear()

'定义客户分组

g = New
SubtotalGroup
g.GroupOn =
"客户"
g.TotalOn =
"数量,金额"
t.SubtotalGroups.Add(g)

'定义产品分组

g = New
SubtotalGroup
g.GroupOn =
"产品"
g.TotalOn =
"数量,金额"
t.SubtotalGroups.Add(g)

t.Subtotal()
'生成汇总模式

定义客户分组和定义产品分组的代码几乎一样,不同的只是列名,所以不管有多少个分组,通常只需复制粘贴,然后修改GroupOn属性所指定的分组列名即可。

上述代码生成的汇总模式如图:

添加分组的顺序

一个汇总模式可能有多个分组,添加分组的先后顺序会影响统计结果。原则是:首先添加小的分组,然后添加大的分组。

以上述代码为例,如果我们调转客户分组和产品分组的添加顺序:

Dim t As Table = Tables("订单")
Dim
g As Subtotalgroup
t
.SubtotalGroups.Clear()
'定义产品分组

g
= New Subtotalgroup
g
.GroupOn = "产品"
g
.TotalOn = "数量,金额"
t
.SubtotalGroups.Add(g)
'
定义客户分组
g
= New Subtotalgroup
g
.GroupOn = "客户"
g
.TotalOn = "数量,金额"
t
.SubtotalGroups.Add(g)
t
.Subtotal()

可以得到每个客户订购不同产品的数量和金额,以及每个客户总的采购数量和金额,如下图:


本页地址:http://www.foxtable.com/webhelp/topics/3289.htm