水晶报表中按页统计字段最后合计,怎么实现的

2025-03-26 03:04:10
推荐回答(1个)
回答1:

用公式创建运行总计

使用示例数据 Xtreme.mdb 创建一个报表。链接“客户”及“订单”表格,并将以下字段从左至右置于“详细资料”节中:
{客户.客户姓名}

{订单.订单 ID}

{订单.订单金额}

在“视图”菜单上单击“字段资源管理器”。
在“字段资源管理器”对话框中选择“公式字段”,然后单击“新建”。
将公式命名为“RunningTotal”,然后单击“使用编辑器”。
出现公式工作室,公式编辑器处于活动状态。

将以下内容输入“公式”框:
WhilePrintingRecords;

CurrencyVar Amount;

Amount := Amount + {订单.订单金额};

单击公式工作室上的“关闭”按钮。
将该公式置于报表“详细资料”节内 {订单.订单金额} 字段紧右边。
该公式打印“订单金额”字段值的运行总计。

在“插入”菜单上单击“组”,然后基于 {客户.客户姓名} 字段对报表进行分组。
在公式工作室中创建“AmountReset”:
WhilePrintingRecords;

CurrencyVar Amount := 0;

该公式指示:

将 Amount 变量置零。

请将该公式置于报表的“组页眉 #1”节。
因为对于每个组“组页眉 #1”节均出现一次,所以每当组更改时,就会执行 @AmountReset。从而使每当新组开始时,Amount 变量都会重置为零。

选择报表上的@AmountReset 公式,使用“格式化编辑器”取消之,以便最终打印结果中不出现该公式。
在公式工作室中创建“AmountDisplay”:
WhilePrintingRecords;

CurrencyVar Amount;

该公式可用于随时显示 Amount 变量的当前值。

请将该公式置于报表的“组页脚 #1”节。
因为对于每个组“组页脚 #1”节均出现一次,所以每当组结束时,就会执行 @AmountDisplay。从而使得每次组更改时,存储在 Amount 变量中的值都会打印出来。

说简单点,就是3个公式
AmountReset 用于清空页合计
RunningTotal 用于累加页合计
AmountDisplay 用于显示页合计.