Foxtable(狐表)用户栏目专家坐堂 → 关于SQLCrossTableBuilder的用法请教


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

主题:关于SQLCrossTableBuilder的用法请教

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


加好友 发短信
等级:六尾狐 帖子:1467 积分:11418 威望:0 精华:0 注册:2013/11/24 22:10:00
关于SQLCrossTableBuilder的用法请教  发帖心情 Post By:2015/10/14 11:00:00 [显示全部帖子]

狐表的统计功能强大,帮助的代码如下:

 

Dim b As New SQLCrossTableBuilder("统计表1","订单")
b.ConnectionName =
"Sale"
b.AddTable(
"订单","产品ID","产品","产品ID") '添加统计表
b.AddTable(
"订单","客户ID","客户","客户ID") '添加统计表
b.HGroups.AddDef(
"客户名称") '添加客户列用于水平分组
b.VGroups.AddDef(
"产品名称","产品名称_{0}") '添加产品列用于垂直分组,并设置了Pattern参数
b.Totals.AddDef(
"数量") '添加数量列用于统计
b.Build
'生成统计表
Maintable
= Tables("统计表1") '打开生成的统计表

 

 

但是我的系统设计都是用窗口显示的,如何把这个统计表在窗口上显示呢?如果窗口的Table 名称为:talbe1 .代码要怎么改呢?


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


加好友 发短信
等级:六尾狐 帖子:1467 积分:11418 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2015/10/14 11:55:00 [显示全部帖子]

清楚了,谢谢大红袍老师。还有一人问题。就是关于"订单" 的筛选条件要在哪个地方写啊?

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


加好友 发短信
等级:六尾狐 帖子:1467 积分:11418 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2015/10/14 11:55:00 [显示全部帖子]

比如。我只想统计订单今年9月的订单?要在哪个地方写,多谢!

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


加好友 发短信
等级:六尾狐 帖子:1467 积分:11418 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2015/10/14 12:25:00 [显示全部帖子]

刚才试了一下,发现不对:大红炮老师,为什么我的代码加了条件和不加条件是一样的。

代码一,没有条件,代码如下:
Dim b As New SQLCrossTableBuilder("统计表1","销售订单明细")
b.C

b.AddTable("销售订单明细","MID","物料信息表","_Identify") '添加统计表
b.AddTable("销售订单明细","CID","客户资料表","_Identify") '添加统计表
b.HGroups.AddDef("客户名称") '添加客户列用于水平分组
b.VGroups.AddDef("产品名称","产品名称_{0}") '添加产品列用于垂直分组,并设置了Pattern参数
b.Totals.AddDef("产品数量") '添加数量列用于统计
b.Build '生成统计表
MainTable = Tables("统计表1") '打开生成的统计表

 

 

代码二: 加了条件

 

Dim dt1 As Date = new Date(2015,10,9)
Dim b As New SQLCrossTableBuilder("统计表1","销售订单明细")
b.C

b.AddTable("销售订单明细","MID","物料信息表","_Identify") '添加统计表
b.AddTable("销售订单明细","CID","客户资料表","_Identify") '添加统计表
b.HGroups.AddDef("客户名称") '添加客户列用于水平分组
b.VGroups.AddDef("产品名称","产品名称_{0}") '添加产品列用于垂直分组,并设置了Pattern参数
b.Totals.AddDef("产品数量") '添加数量列用于统计
b.Build '生成统计表
'.Filter = "所属公司 = '恒滔' and 订单日期 >= #"  &  dt1  &  "#"
MainTable = Tables("统计表1") '打开生成的统计表

 

但是两个生成的表是一一样的。哪里出了问题?


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


加好友 发短信
等级:六尾狐 帖子:1467 积分:11418 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2015/10/14 12:26:00 [显示全部帖子]

b.C 那句代码是边接名称,不知道为什么过去去,都是一样的。

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


加好友 发短信
等级:六尾狐 帖子:1467 积分:11418 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2015/10/14 14:37:00 [显示全部帖子]

如果写在之前,生成的是空表。

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


加好友 发短信
等级:六尾狐 帖子:1467 积分:11418 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2015/10/14 14:45:00 [显示全部帖子]

我用Foxtalbe 的多表统计的例子,只加了一个条件,生成的也是空表

 

代码如下:

 

Dim b As New SQLCrossTableBuilder("统计表1","订单")
b.C
b.AddTable("订单","产品ID","产品","产品ID") '添加统计表
b.AddTable("订单","客户ID","客户","客户ID") '添加统计表
b.HGroups.AddDef("客户名称") '添加客户列用于水平分组
b.VGroups.AddDef("产品名称","产品名称_{0}") '添加产品列用于垂直分组,并设置了Pattern参数
b.Totals.AddDef("数量") '添加数量列用于统计
b.Filter = "客户ID = 'C03'"
b.Build '生成统计表
MainTable = Tables("统计表1") '打开生成的统计表

我只加了b.Filter 那句,条件应该是没问题的,但生成也是空表,请帮忙看一下。多谢!


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


加好友 发短信
等级:六尾狐 帖子:1467 积分:11418 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2015/10/14 15:05:00 [显示全部帖子]

搞定了。多谢大红袍。

 

还有最后一个问题,我想在水平列里新增一列“客户所属业务员”,这列是在客户表里的,要如何写代码?


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


加好友 发短信
等级:六尾狐 帖子:1467 积分:11418 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2015/10/14 15:16:00 [显示全部帖子]

明白了。真的感谢!

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


加好友 发短信
等级:六尾狐 帖子:1467 积分:11418 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2015/10/14 17:03:00 [显示全部帖子]

大红袍老师

 

不好意思,又要请教你了。我今天已经把要生成的数据汇总基本搞好了,现在还遇到些问题。

请看下图生成的水平汇总列:

 

 

 

 

如何可以把单价列去掉,还有就是表我想通过合计列的金额来排序,要怎么实现?多谢!

 


 回到顶部
总数 22 1 2 3 下一页