自动显示合计行

不管是合计模式,还是汇总模式,用户一旦进行排序或筛选,合计模式和汇总模式就会自动消失。

如果希望排序或筛选后,依然能够保持显示合计模式或汇总模式,可以在AfterSortAfterFilter两个事件中,加上设置合计模式或汇总模式的代码。

例如对于订单表,希望在排序和筛选后,能够自动显示合计模式,在AfterSort和AfterFilter两个事件中同时加上下面的代码即可:

Tables("订单").Cols("数量").GrandTotal = True
Tables
("订单").Cols("金额").GrandTotal = True
Tables
("订单").GrandTotal = True

让用户自己决定

当然,更符合实际情况的是用户能够自动控制是否显示合计行,为此我们首先定义一个Public变量

Public AutoTotal As Boolean

然后在AfterSort和AfterFilter两个事件中同时加上下面的代码:

If AutoTotal Then
    Tables("订单").Cols("数量").GrandTotal = True
    Tables("订单").Cols("金额").GrandTotal = True
    Tables("订单").GrandTotal =
True

End
If

最后在菜单或者窗口中加一个按钮,按钮的代码设置为:

If AutoTotal = True Then
    AutoTotal = False
    Tables(
"
订单").GrandTotal = False
Else

    AutoTotal = True
    Tables(
"
订单").Cols("数量").GrandTotal = True
    Tables(
"
订单").Cols("金额").GrandTotal = True
    Tables(
"
订单").GrandTotal = True
End
If

这样用户单击这个按钮,既可在自动合计和非自动合计两种模式中切换。


本页地址:http://www.foxtable.com/webhelp/topics/2927.htm