【问题标题】:Crystal Reports: Error on Sum in Formula FieldCrystal Reports:公式字段中的总和错误
【发布时间】:2009-11-29 01:50:32
【问题描述】:

简介: 我有一份非常复杂的报告。为了使它更容易一点,我以这种方式构建我的报告: 在 VS.net 中,我有一堂课。在报告中,我制作了一个“仅字段定义”文件(ttx),它与类完全相同。在后面的代码中,我将类设置为(子)报告的数据源。

问题: 一个类(以及 ttx 文件)具有以下字段:PriceTraditional、PriceCommercial。并且有 2 个公式字段,即 SumPriceTraditional、SumPriceCommercial。

当类为空时,数据源也为空。这是发生错误的时候。可能是因为我取了一个为 NULL 的字段的总和。

我尝试过的解决方案(但不起作用):

  1. 我尝试使用 formulaField 更改 PriceTraditional(例如:PriceTraditionalDummy;使用公式:if isnull({DamageForReport.PriceTraditional}) then 0 else {DamageForReport.PriceTraditional}。但后来我收到一个错误: 这里需要一个数字。(这是由结构的else部分引起的。
  2. 我尝试打开和关闭默认值替换(没有结果)

问题:我只想有一个报告,如果 sum 中使用的字段为空,我可以在其中使用 Sum-FormulaField 而不会炸毁报告。

任何关于如何解决这个问题的建议都会很棒!

亲切的问候,

维姆

【问题讨论】:

    标签: crystal-reports


    【解决方案1】:

    您可以尝试使用 CCur 将 0 转换为 Currency 或使用 CDbl 或 ToNumber 将 {DamageForReport.PriceTraditional} 转换为数字。

    似乎出于某种原因,它认为第一部分中的 0 和第二部分中的 {DamageForReport.PriceTraditional} 属于不同类型,因此您可以强制转换一个以匹配另一个。

    这两种我都没有尝试过,但它可能就像使用 $0 或 0.0 而不是 0 一样简单。

    只是抛出一些想法。希望对您有所帮助。

    【讨论】:

      【解决方案2】:

      【讨论】:

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