【问题标题】:Crystal Report-Running Total水晶报表-运行总计
【发布时间】:2012-04-19 08:59:55
【问题描述】:

我在 Crsystal report9 中运行 Total 时遇到问题 如果它们对于特定字段没有可用的值,我们如何将运行总计返回为“0”

【问题讨论】:

    标签: crystal-reports


    【解决方案1】:

    不要直接在报表中显示运行总计,而是基于运行总计创建一个公式字段并将其拖到报表中。

    您的公式应如下所示(Crystal 语法)...

    if ISNULL({#RunningTotalField}) then
        "0.00"
    else
        ToText(RunningTotalField, 2)
    

    【讨论】:

      【解决方案2】:

      如果没有该特定组的数据,Crystal 将不会轻易显示。您的选择是:

      1) 使用子报表显示特定组的值,并让主报表只查看包含组标题的表。

      2) 使用存储过程作为源,这样您就可以完全控制正在运行的 SQL。

      问题在于,一旦您使用字段进行分组,Crystal 将仅返回已使用该字段的记录。如果只是在“详细信息”部分中,您可以将链接修改为 LEFT JOIN,这无关紧要,但组会强制执行 INNER JOIN,这意味着不返回没有数据的组。

      【讨论】:

        【解决方案3】:

        很遗憾,如果没有符合您条件的记录,则不会显示运行总计。另一种方法是使用在报告的各个部分计算的一组公式。 Crystal 文献中广泛描述了该技术。例如,this TekTips 非常简洁地概述了您的选项。

        您使用评估时间指令“WhilePrintingRecords”在每个标题中设置了一个初始化公式。这种方法是在 RunningTotal 对象可用之前的“好日子”中唯一可用于运行总计的方法。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多