You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Crystal Reports:组页脚汇总Sold Qty并取On Hand Qty最后值

搞定Crystal Reports组页脚的两个需求:求和+取最后值

嗨,我来帮你搞定这个组页脚的显示需求!其实Sold Qty的求和很简单,重点是用变量实现On Hand Qty取组内最后一个值,我一步一步给你讲:

一、Sold Qty列的总和(快速实现)

这个Crystal Reports自带功能就能轻松搞定:

  • 直接把Sold qty字段拖到组页脚对应的位置
  • 右键点击这个字段,选择「插入汇总」
  • 在弹出的窗口里,汇总类型选「求和」,汇总依据选你的分组字段,确定就完事了!
    这样组页脚里就会自动显示该组所有Sold qty的总和,和你示例里的3、9完全对应。

二、On Hand Qty列取组内最后一个值(用变量实现)

这个需要借助Crystal的变量来实时记录每一行的On Hand Qty,最后在组页脚输出最后一次更新的值,步骤如下:

1. 初始化变量(组页眉)

首先在组页眉里创建一个公式(右键组页眉→插入→公式字段),命名为Initialize_OnHand,输入以下代码:

WhilePrintingRecords;
NumberVar Last_OnHand := 0; // 这里类型要和你的On Hand Qty匹配,比如是字符串就用StringVar

小贴士:WhilePrintingRecords必须加,它告诉Crystal在打印阶段处理这个变量,而不是更早的读取阶段,这样才能正确记录每一行的动态值。

创建好后把这个公式拖到组页眉里(可以右键它→格式化字段→公共→勾选「抑制显示」,这样它不会显示出来,但会默默执行初始化操作)。

2. 实时更新变量(细节节)

接下来在细节节里创建另一个公式,命名为Update_OnHand,输入代码:

WhilePrintingRecords;
NumberVar Last_OnHand;
Last_OnHand := {你的数据表名.On Hand Qty}; // 替换成你实际的字段名

同样把这个公式拖到细节节里,也可以设为隐藏(抑制显示),这样每打印一行细节,变量就会被更新为当前行的On Hand Qty值,到组的最后一行时,变量里存的就是我们要的最后一个值了。

3. 在组页脚显示最后值

最后在组页脚里创建一个公式,命名为Display_Last_OnHand,输入代码:

WhilePrintingRecords;
NumberVar Last_OnHand;
Last_OnHand;

把这个公式拖到组页脚对应On Hand Qty的位置,这样就会显示该组最后一行的On Hand Qty值啦!比如你示例里第一个组最后是3,第二个组最后是7,完美匹配效果。

最终效果验证

按照上面的步骤设置后,你的报表就会和示例完全一致:

On Hand Qty
1
2
============================================
GF Total | 3 | 3
details | 6 | 10
details | 3 | 7

GF Total | 9 | 7

内容的提问来源于stack exchange,提问作者Fraser Kelly

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:57:25