以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  关于SQLCrossTableBuilder的用法请教  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=75754)

--  作者:ap9709130
--  发布时间:2015/10/14 11:00:00
--  关于SQLCrossTableBuilder的用法请教

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

 

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 .代码要怎么改呢?


--  作者:大红袍
--  发布时间:2015/10/14 11:21:00
--  

Tables("窗口1_Table1").DataSource = b.BuildDataSource()

 

参考

 

http://www.foxtable.com/help/topics/1909.htm

 


--  作者:ap9709130
--  发布时间:2015/10/14 11:55:00
--  
清楚了,谢谢大红袍老师。还有一人问题。就是关于"订单" 的筛选条件要在哪个地方写啊?
--  作者:ap9709130
--  发布时间:2015/10/14 11:55:00
--  
比如。我只想统计订单今年9月的订单?要在哪个地方写,多谢!
--  作者:大红袍
--  发布时间:2015/10/14 12:00:00
--  

加条件

 

b.filter = "条件"

 

http://www.foxtable.com/help/topics/2720.htm

 


--  作者:ap9709130
--  发布时间: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
--  发布时间:2015/10/14 12:26:00
--  
b.C 那句代码是边接名称,不知道为什么过去去,都是一样的。
--  作者:大红袍
--  发布时间:2015/10/14 14:27:00
--  
b.Filter 写在 b.Build 之前
--  作者:ap9709130
--  发布时间:2015/10/14 14:37:00
--  
如果写在之前,生成的是空表。
--  作者:大红袍
--  发布时间:2015/10/14 14:43:00
--  
空表,就说明你条件写得有问题,例子上传上来测试。