设置汇总模式

在学习本课的内容之前,请打开示例文件"统计演示.Table"。

关于汇总模式,我们已经在《使用指南》中介绍过,请先考:汇总模式

本节介绍如何通过代码设置汇总模式,后面我们会看到,汇总模式的代码是可以自动生成的,很少需要手工编写,但对此有所了解是必须的,方便做一些细节调整或实现特殊需求。

快速入门

复制下面的代码到命令窗口执行:

Dim g As New SubtotalGroup '定义一个新的分组
g.GroupOn =
"客户" '分组列为客户列
g.TotalOn =
"数量,金额" '对数量和金额进行统计
With Tables("订单")
    .SubtotalGroups.Clear()
'清除原有的分组
    .SubtotalGroups.Add(g)
'加入刚刚定义的分组
  
 .Subtotal() '生成汇总模式
End
With

可以统计得出每个客户的采购数量和金额,如下图:

代码很简单,每一行都具备自我描述性,无非就是定义一个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:平均值
Count:记录数
Max:最大值
Min:最小值
Percent:百分比
Std:标准偏差
StdPop:总体标准偏差
Sum:累积值
Var:方差
VarPop:总体方差

DateGroup DateGroupEnum型枚举,指定日期列的分组方式,包括以下可选值:

None:无
Year: 按年
Quarter:按季度
Month:按月
Week:按周
Day:按天
Hour:按小时
Minute:按分
Second:按秒

Caption 字符型,用于指定标题,Caotion属性使用"{0}"表示分组名称 。
在生成汇总模式的时候,{0}会被替换为实际的分组名称,例如假定Caption属性为
"{0} 小计"某个分组的名称为“PD01”,那么分组标题将显示为“PD01 小计”。
Upto 逻辑型,是否进行截止统计


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