首先,如果之前有人问我,我想道歉,我找不到答案。 要点: 我的问题如下:我正在使用Crystal Reports for VS2010,我有一个字段应该显示1或-1基于If检查
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的字段。
到目前为止我尝试过:
ToText({Orders.OrderReplacedBy})=""
{Orders.OrderReplacedBy}>0
,因为数据库中的OrderReplacedBy字段是数字,并且不能有小于零的值,因此NULL应该只触发Else。"1"
和ToNumber("1")
似乎无法正常工作老实说,我不知道还有什么可以尝试,而且我也不了解Crystal Reports(我只使用它2天,只需修改现有应用程序的报告)。
任何帮助将不胜感激,
谢谢:)
P.S。:我正在使用Silverlight 4
答案 0 :(得分:0)
由于没有人回答我认为这并没有发生在任何人身上或者没有人感兴趣。但是在做了一些更多的研究并尝试了其他的东西后,我发现了一个我要发布的工作单(可能是其他人碰到了这个,谁知道呢?): 在N公式中(我不知道为什么上次我尝试它不起作用)我改变了这样的事情:
If IsNull({Orders.OrderReplacedBy})
Then "1"
Else "-1"
添加了一个名为Numbers
的报告中未使用的新公式If {@N}="1"
Then 1
Else -1
然后我更改了和公式以匹配中间字段
Sum({@Numbers})
我仍然不知道为什么报告不想向我显示N公式中的数字,也不知道为什么总和公式没有计算出正确的总和。
我希望这至少对其他人有用,
干杯!