被省略的代码

如果你足够细心,你可能会对上一节的示例代码感到困惑,因为这段代码没有指定统计类型和分组标题:

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

End
With

上述代码实际等效于:

Dim g As New SubtotalGroup '定义一个新的分组
g.Aggregate = AggregateEnum.Sum
'统计类型为求和
g.GroupOn =
"客户" '分组列为客户列
g.TotalOn =
"数量,金额" '对数量和金额进行统计
g.Caption =
"{0} 小计" '设置标题
With
Tables("订单")
    .SubtotalGroups.Clear()
'清除原有的分组
    .SubtotalGroups.Add(g)
'加入刚刚定义的分组
  
 .Subtotal() '生成汇总模式
End
With

加粗的两行代码我们之前省略掉了,这是因为:

1、大多数统计都是求和的,如果不明确设置Aggregate属性,系统认会默认你要求和。
2、如果不明确设置Caption属性,对于普通分组,系统会选择一个默认标题"{0} 小计",对于日期分组,默认标题会加上分组单位,例如"{0}月 小计"。

默认的设置有时不能满足我们的要求,此时就需要明确指定Aggregate属性和Caption属性,参考:混合多种统计

关于标题

在设置标题的时候,可以用字符“{0}”来表示分组的名称,例如分组标题设为“{0} 小计”,在生成汇总模式的时候,如果某个分组的名称为“PD05”,那么分组标题将显示为“PD05 小计”:


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