Foxtable(狐表)用户栏目专家坐堂 → SQLCrossTableBuilder示范代码有误?


  共有11184人关注过本帖树形打印复制链接

主题:SQLCrossTableBuilder示范代码有误?

帅哥哟,离线,有人找我吗?
hhbb
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:等待验证 帖子:386 积分:2482 威望:0 精华:1 注册:2011/5/10 11:13:00
SQLCrossTableBuilder示范代码有误?  发帖心情 Post By:2011/5/21 14:29:00 [只看该作者]

帮助文件中,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")


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/5/21 14:38:00 [只看该作者]

测试没事,你做个例子上来。

 回到顶部
帅哥哟,离线,有人找我吗?
hhbb
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:等待验证 帖子:386 积分:2482 威望:0 精华:1 注册:2011/5/10 11:13:00
  发帖心情 Post By:2011/5/21 14:47:00 [只看该作者]

以下是引用狐狸爸爸在2011-5-21 14:38:00的发言:
测试没事,你做个例子上来。

晕了,原来是用  CaseStudy目录下的文件:多表统计.Table 测试,此订单无[客户],也无[产品]


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/5/21 14:50:00 [只看该作者]

图片点击可在新窗口打开查看

 回到顶部