我有许多子报表,我在其中计算总数。在主报告中,我需要这些总数的总和。
我不知道如何访问子报表中的总数。
您需要考虑使用共享变量,父报表及其子报表都可以读取和写入共享变量。
例子 :
在父报告中,用于初始化事物的公式称为“InitTotal”,其中包含以下文本:
Shared NumberVar MyTotal := 0;
将此公式放在报表标题中并禁止显示。向每个名为“AddTotal”的子报表添加一个公式,其中包含以下文本:
Shared NumberVar MyTotal := MyTotal + {FieldToAddToTotal};
将此公式添加到子报表的报表页脚并禁止显示它。
最后,在父报表的报表页脚中,添加另一个名为“DisplayTotal”的公式,其中仅包含文本:
Shared NumberVar MyTotal;
您可能还需要考虑使用 SQL 表达式字段。它在“主”查询的 SELECT 子句中生成排序子查询。因此,子查询必须返回一个标量值。您还可以将子查询与主查询相关联。
SQL Express 字段也可用于记录选择公式,并将传递到数据库进行处理。
有关详细信息,请参阅Crystal Reports:使用 SQL 表达式字段。