以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助] 指定产品名统计  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=12439)

--  作者:jackchen
--  发布时间:2011/9/3 9:18:00
--  [求助] 指定产品名统计

各位,

  我有一个总表,用模拟关联后得到一个窗口的table表,是用产品名关联, 然后希望用table的数据交叉汇总,但是我发现交叉汇总的函数

New CrossTableBuilder(TableName, SourceDataTable)

参数说明 

TableName:       字符型,指定即将生成的统计表的名称。
SourceDataTable: DataTable型,指定要统计的数据表。

  必须是datatable的,所以无法完成汇总,是否可以介绍下如何用一个确定的产品名来汇总,谢谢来


--  作者:紙上不談兵
--  发布时间:2011/9/3 11:33:00
--  
纸上不谈兵!
--  作者:blackzhu
--  发布时间:2011/9/3 12:26:00
--  
           一个办法,将系统的交叉统计窗口提出来,设置好看看是不是你要的统计结果,如果是,窗口上有一个查看代码的按钮,这个代码你就可以提出来用了.
--  作者:狐狸爸爸
--  发布时间:2011/9/3 16:36:00
--  
楼主,可以汇总的,Table也有一个DataTable属性,你可以这样:
 
Dim b As New CrossTableBuilder("统计表1", Tables("窗口1_Table1").DataTable)

--  作者:jackchen
--  发布时间:2011/9/3 21:47:00
--  

谢谢,我在帮助中找到我想要的答案,但是我按照这个代码写后,却 无法得到数据,都是空白,这个是否有案例 ??

 

我粘贴上来,请看看

 

很多类型,例如常用的 CrossTableBuilderGroupTableBuilder ,只能对DataTable进行操作。
如果你希望对筛选后的数据,也就是Table中的数据进行统计,那么该怎么办呢?
其实一样,将这些类型的Filter属性的值,设为Table的Filter属性值即可。

例如:

Dim g As New GroupTableBuilder("统计表1",DataTables("订单"))
g.Groups.AddDef("产品")
g.Totals.AddDef("数量")
g.Filter =Tables("订单").Filter
g.Build()

MainTable
=Tables("统计表1")


--  作者:e-png
--  发布时间:2011/9/4 9:14:00
--  
没看到你的筛选条件哦。
--  作者:狐狸爸爸
--  发布时间:2011/9/4 11:27:00
--  
测试正常。