顶一下。这是一个很现实的问题。
我也遇到这个问题了。对于到款分月统计,不仅宽度超出屏幕,而且不知怎么地设计且保存了的统计,在一次意外退出后,不仅数据没保存,连交叉统计方法竟然也没了。只能自己设计固定的表格。
但是,对于水平先按实体名称、每个实体名称再按两种状态(在建、完工)、竖向按12个月的交叉统计,按照帮助的简单讲解根本无法实现。
我现在已经变相、基本解决了,虽然有什么就统计什么,但没有到款的实体有哪些就不知道了——另外,不知道交叉统计中为什么只能查看代码、不能编辑代码
If MainTable.Name = "开piao到款管理" Then '交叉统计来自该表,故不需专门设计按钮,只要点该表名就行了。
Dim g As New CrossTableBuilder("到款统计", DataTables("开piao到款管理"), "[实体名称]>'' and [状态]>'' and [到款金额]>0") '考虑到开piao有废piao,造成项目名称为空,因此状态也为空、到款也为空,故剔除这些记录
g.HGroups.AddDef("实体名称") '按实体名称分类
g.HGroups.AddDef("状态") '建二级分类
g.VGroups.AddDef("到款日期", DateGroupEnum.Year, "{0}年") '考虑到有上年的到款
g.VGroups.AddDef("到款日期", "{0}月") '分月统计
g.Totals.AddDef("到款金额", "到款金额") '统计到款金额
g.OrderByTotal = True
g.HorizontalTotal = True '水平方向自动合计
g.VerticalTotal = True '垂直方向自动合计
g.Filter = "[实体名称]>'' and [状态]>'' and [到款金额]>0" '过滤条件,不知道为什么还会需要这句——前面已经有了
g.Build()
With Tables("到款统计") '合并相同的实体名称
.MergeMode = MergeModeEnum.Standard
.MergeCols.Clear()
.MergeCols.Add("实体名称")
.AllowMerge = True
End With
Tables("到款统计").AutoSizeCols() ’设置最合适列宽
End If
[此贴子已经被作者于2012-5-1 20:04:51编辑过]