设置汇总模式
在学习本课的内容之前,请打开示例文件"统计演示.Table"。
关于汇总模式,我们已经在《使用指南》中介绍过,请先考:汇总模式
本节介绍如何通过代码设置汇总模式,后面我们会看到,汇总模式的代码是可以自动生成的,很少需要手工编写,但对此有所了解是必须的,方便做一些细节调整或实现特殊需求。
快速入门
复制下面的代码到命令窗口执行:
Dim
g As New SubtotalGroup '定义一个新的分组可以统计得出每个客户的采购数量和金额,如下图:
代码很简单,每一行都具备自我描述性,无非就是定义一个SubtotalGroup,指定分组列和统计列,然后添加到SubtotalGroups集合中,
最后执行Subtotal方法生成汇总模式。
需要注意的是,每次要重新生成汇总模式,都必须先执行SubtotalGroups的Clear方法,清除原来的SubtotalGroup,然后再添加新的SubtotalGroup。
关于通过代码设置汇总模式,后面会有专门的一章进行介绍,这里只需有所了解即可。
相关属性和方法
下面是Table类型和汇总模式相关的属性和方法。
属性
属性名 | 说明 |
GroupAboveData | 逻辑型,该属性决定汇总模式下,分组行是否位于数据行之前,默认为False,设为True,分组行将位于数据行之前 |
TreeVisible | 逻辑型,该属性决定在汇总模式下是否显示目录树,默认为False,设为True,将显示目录树 |
IsSubtotal | 逻辑型,判断Table是否处于汇总模式 |
SubtotalGroups | 集合,包括汇总模式下的各个分组设置 |
方法
方法名 | 说明 |
Subtotal | 根据现有的分组设置生成汇总模式 |
ClearSubtotal | 退出汇总模式 |
最重要的属性是SubtotalGroups,这是一个SubtotalGroup型集合,包括汇总模式下的各个分组设置。
SubtotalGroup指的是汇总模式下的分组,包括以下属性:
属性 | 说明 |
GroupOn | 指定分组列,如果是总计分组,用星符号(*)表示 |
TotalOn | 指定统计列,如果要对多列统计,列与列之间用逗号分隔。 |
Aggregate | AggregateEnum型枚举,指定统计类型,包括以下可选值:
Average:平均值 |
DateGroup |
DateGroupEnum型枚举,指定日期列的分组方式,包括以下可选值: None:无 |
Caption | 字符型,用于指定标题,Caotion属性使用"{0}"表示分组名称
。 在生成汇总模式的时候,{0}会被替换为实际的分组名称,例如假定Caption属性为"{0} 小计",某个分组的名称为“PD01”,那么分组标题将显示为“PD01 小计”。 |
Upto | 逻辑型,是否进行截止统计。 |