使用Crystal Reports我试图在标题中显示所有标签所在的数据库字段的运行总计。
我试图通过将运行总计(RTversion)放入公式字段中来实现此目的:
Shared stringvar CurrentVers;
CurrentVers := {#CurrentVers};
然后在页眉部分我有以下内容:
Shared stringvar CurrentVers;
EvaluateAFter({#currentVers});
CurrentVers;
{#CurrentVers}运行第一大号码。
这是不正确的?
更新:目标是在标签附近的标题中显示最新版本,以显示当前版本的比较内容。
答案 0 :(得分:4)
根据我的经验,Running-Total Fields仅适用于页脚部分。
您需要创建一个手动运行总计。
将“公式”字段添加到“详细信息”部分,该部分使用您尝试捕获的任何内容填充全局变量。类似的东西:
//use WhileReadingRecords if the values can be gathered as the report pulls in values from the database. Otherwise, use WhilePrintingRecords.
WhileReadingRecords;
Global Stringvar CurrentVers;
//logic here to capture what you want
CurrentVers:=...
将另一个公式字段添加到“标题”部分。将这两行添加到其中:
WhilePrintingRecords;
Global Stringvar CurrentVers;
答案 1 :(得分:4)
创建一个像这样的公式
formula = Count ({Field to count},{GroupFieldName})
并将其放在群组标题部分。
答案 2 :(得分:1)
我想出来了..
我必须在主报告中添加子报告。我复制了主报告并将其重命名为子报告。在子报表中,我添加了一个共享变量,然后将其传递给主报表。诀窍是将子报表放在同一个组头中,但是需要抑制的部分上方有一个单独的部分。我实际上添加了以下部分:
新版块(同一组 - 我在这里放置子报告;不要压制) 新部分(同一组 - 我在这里放置共享变量值;不要压制) 原始部分(具有标题的同一组我需要根据运行总计来抑制)
答案 3 :(得分:0)
如果{#CurrentVers}是常规运行总计字段,您应该能够直接将其放在页眉中,而不是使用其他公式。我不认为这里需要任何一个公式字段,除非在{#CurrentVers}的组成中有一些不寻常的东西,并且“最大数量”的总计不应该要求任何不寻常的东西。
答案 4 :(得分:0)
您只需使用一个公式字段即可解决此问题:
WhilePrintingRecords;
// Enter logic here e.g.
// maximum({mytable.myfield});
WhilePrintingRecords;
强制公式在从数据库中读取所有记录之前不被评估,因此公式字段即使放在标题中也会显示正确的结果。
答案 5 :(得分:0)
我发现的关键是传递的公式字段需要放在子报表上。我把它放在页脚然后压制它。