Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共77 条记录, 每页显示 10 条, 页签: [1] [2][3][4][5][6][7][8]
[浏览完整版]

标题:交叉统计

1楼
实话实说 发表于:2009/10/10 18:35:00
狐表字带的[统计演示]实例中代码


Dim
b As New CrossTableBuilder("统计表1",DataTables("订单"))

b.HGroups.AddDef("客户") '添加客户列用于水平分组

b.VGroups.AddDef("日期","{0}月") '添加日期列用于垂直分组

b.Totals.AddDef("数量") '添加数量列用于统计
b.OrderByTotal = True
'同中类型的统计数据排列在一起

b.Build '生成统计表
Maintable = Tables("统计表1") '打开生成的统计表 


我想增加[合计]字段,对月份进行横向统计,请帮我补充代码。谢了
2楼
yangming 发表于:2009/10/10 18:58:00

下段代码放到你上面代码倒数第二行便可,其实就是汇总模式的代码

Dim t As Table = Tables("统计表1")
Dim g1 As SubtotalGroup
t.SubtotalGroups.Clear()
t.GroupAboveData = False
t.TreeVisible = False

g1 = New SubtotalGroup
g1.Aggregate = AggregateEnum.Sum
g1.GroupOn = "*"
g1.TotalOn = "1月,2月,3月,4月,...." '以此类推
g1.Caption = "合计"
t.SubtotalGroups.Add(g1)
t.Subtotal()

为了方便,你也可以先生成统计表1,然后再做汇总模式,查看代码,将汇总代码复制下来便可以了

[此贴子已经被作者于2009-10-10 19:01:45编辑过]
3楼
czy 发表于:2009/10/10 19:43:00
这样?

Dim g As New CrossTableBuilder("统计表2", DataTables("订单"))
g.HGroups.AddDef("客户")
g.VGroups.AddDef("日期", "{0}月")
g.Totals.AddDef("数量", "数量")
g.OrderByTotal = True
g.HorizontalTotal = True
g.Build()
MainTable = Tables("统计表2")
4楼
实话实说 发表于:2009/10/10 20:58:00
CZY满足我的要求,只是要生成两个表,能否只有一个表呢?
5楼
czy 发表于:2009/10/10 21:02:00
没明白你的意思。

是不是只要一个统计表?
你将我代码中的“统计表2”改成“统计表1”看看。
6楼
程兴刚 发表于:2009/10/10 21:05:00
呵呵,统计表1是他自己原来的!图片点击可在新窗口打开查看
7楼
实话实说 发表于:2009/10/10 21:10:00
我笨,谢谢CZY
8楼
实话实说 发表于:2009/10/10 21:40:00

还有,上述交叉统计需要每次通过按钮才能适时更新,能否自动适时更新呢?

9楼
yangming 发表于:2009/10/11 12:09:00

此统计表本身就是临时表,如何适时自动?除非你做一个固定的表

10楼
实话实说 发表于:2009/10/11 18:40:00
请教CZY,3楼代码中统计表1的“合计”字段是怎么来的?
共77 条记录, 每页显示 10 条, 页签: [1] [2][3][4][5][6][7][8]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .05078 s, 2 queries.