任务九

在菜单中加上简单的交叉统计功能。

增加一个功能组"任务九",在该功能组中增加四个组件:

类型 名称 标题 大图标
组合框 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