【问题标题】:Crystal Report displaying formula result as 00Crystal Report 将公式结果显示为 00
【发布时间】:2013-03-27 22:28:29
【问题描述】:

首先,如果之前有人问过这个问题,我想道歉,我只是找不到答案。 重点: 我的问题如下:我正在为 VS2010 使用 Crystal Reports,并且我有一个字段应该根据 If 检查显示 1 或 -1

If IsNull ({Orders.OrderReplacedBy})
Then 1
Else -1

它应该在我的报告中显示字段的空值 1,否则显示 -1。问题是,在我的报告中,无论 if 测试的值如何,我都只得到 .00。 此外,我还有另一个公式字段,它是报告中显示的所有 1 和 -1 的总和,它似乎有点奇怪。在我的数据库中,我总共有 772 行,其中 39 为 NULL(因此应该有 733 个 1 和 39 个 -1,总和为 694),显示的总和为 488。总和的代码如下:

Sum({@N})

其中 N 是我计算 1 和 -1 的字段。

到目前为止我已经尝试过:

  • 将 If 测试从 IsNull 更改为 ToText({Orders.OrderReplacedBy})=""
  • 将 If 测试更改为 {Orders.OrderReplacedBy}>0,因为数据库中的 OrderReplacedBy 字段是数字并且不能有小于零的值,因此 NULL 应该只触发 Else。
  • 尝试将公式的显示更改为 "1"ToNumber("1") 似乎没有任何效果

老实说,我不知道还有什么可以尝试的,而且我对 Crystal Reports 也一无所知(我只使用了 2 天,只需要修改现有应用程序的报告)。

任何帮助将不胜感激,

谢谢:)

P.S.:我正在使用 Silverlight 4

【问题讨论】:

    标签: crystal-reports-2010


    【解决方案1】:

    由于没有人回答,我认为这没有发生在任何人身上,或者没有太大的兴趣。但是在做了更多研究并尝试了其他东西之后,我发现了一个我会发布的解决方法(也许其他人会遇到这个问题,谁知道?): 在 N 公式中(我不知道为什么我上次尝试时它不起作用)我改变了这样的东西:

    If IsNull({Orders.OrderReplacedBy})
    Then "1"
    Else "-1"
    

    添加了一个未在报表中使用的新公式,称为 Numbers

    If {@N}="1"
    Then 1
    Else -1
    

    然后我更改了求和公式以匹配中间字段

    Sum({@Numbers})
    

    我仍然不知道为什么报告不想显示 N 公式中的数字,也不知道 sum 公式为什么没有计算出正确的总和。

    我希望这至少对其他人有用,

    干杯!

    【讨论】:

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