任务九
在菜单中加上简单的交叉统计功能。
增加一个功能组"任务九",在该功能组中增加四个组件:
	
		| 类型 | 名称 | 标题 | 大图标 | 
	
		| 组合框 | HGroup | 水平分组 |  | 
	
		| 组合框 | VGroup | 垂直分组 |  | 
	
		| 组合框 | TotalOn | 统计列 |  | 
	
		| 标准按钮 | Build | 统计 | CrossTable32.ico | 
分别给HGroup和VGroup两个组合框增加三个列表项目:产品、客户、雇员
给TotalOn组合框设置两个列表项目:数量、金额。
Build按钮的Click事件代码:
Dim
 
HGroup As String
Dim VGroup As 
String
Dim TotalOn As 
String
'获取输入内容
With RibbonTabs("实战演练二")("任务九")
    HGroup = .Items("HGroup").Text
    VGroup = .Items("VGroup").Text
    TotalOn = .Items("TotalOn").Text
End With
With 
Tables("订单").Cols
    If HGroup >"" 
AndAlso .Contains(HGroup) Then 
'如果已经输入有效水平分组
        
If VGroup >""
AndAlso .Contains(VGroup) 
Then '如果已经输入有效垂直分组
            
If TotalOn >""
AndAlso .Contains(TotalOn) 
Then '而且统计列有效
               
Dim b
As New CrossTableBuilder("统计表",DataTables("订单"))
                
b.HGroups.AddDef(HGroup) '添加水平分组
                
b.VGroups.AddDef(VGroup) '添加垂直分组
                
b.Totals.AddDef(TotalOn) '添加统计列
                
b.Build '生成统计表
               
MainTable =
Tables("统计表")
            End
If
        End 
If
    End 
If
End 
With
本次任务的设计效果:

分别选择水平分组、垂直分组、统计列,单击右侧统计按钮,即可自动生成一个交叉统计表。
其实完全可以做得更好一些,例如组合框自动列出当前表的列,而不是事先设定,可以选择统计类型以及日期列的分组模式等等。
只是本课的任务是学习菜单设计,所以全部用最简单的例子来说明,以免分散大家的注意力。
 
    
本页地址:http://www.foxtable.com/webhelp/topics/1141.htm