帮助文件中,SQLCrossTableBuilder统计单个数据表的3个示范代码报错!
此主题相关图片如下:bcl.jpg
SQLCrossTableBuilder
统计单个数据表
在运行下面的示例之前,请打开CaseStudy目录下的文件:统计演示.Table
示例一
普通的统计,SQLCrossTableBuilder和CrossTableBuilder的用法基本一样。
例如统计同一客户订购不同产品的数量:
Dim b As New SQLCrossTableBuilder("统计表1","订单")
b.HGroups.AddDef("客户") '添加客户列用于水平分组
b.VGroups.AddDef("产品","产品_{0}") '添加产品列用于垂直分组,并设置了Pattern参数
b.Totals.AddDef("数量") '添加数量列用于统计
b.Build '生成统计表
Maintable = Tables("统计表1") '打开生成的统计表
生成的统计结果:
示例二
假定金额列是一个表达式列,根据数量、单价计算得出金额。
现在要统计同一客户订购不同产品的数量和金额,且要直接统计后台数据,由于CrossTableBuilder是不能统计表达式列,也不能自定义统计表达式,对于此类统计是无能为力的。
如果用SQLCrossTableBuilder则很简单:
Dim b As New SQLCrossTableBuilder("统计表1","订单")
b.HGroups.AddDef("客户")
b.VGroups.AddDef("产品")
b.Totals.AddDef("数量")
b.Totals.AddExp("金额","[数量] * [单价] * (1 - [折扣])") '
b.Build
Maintable = Tables("统计表1")
示例三
不仅是统计列,分组列也可以是表达式:
Dim b As New SQLCrossTableBuilder("统计表1","订单")
b.HGroups.AddExp("客户","Right([客户],2)")
b.VGroups.AddExp("产品","Right([产品],2)","产品_{0}")
b.Totals.AddDef("数量")
b.Build
Maintable = Tables("统计表1")