其他部分永远不会在水晶报告公式字段中执行

时间:2009-04-28 05:31:39

标签: crystal-reports

我在Crystal语法中有一个简单的公式,看起来像这样:

if isdate(totext({Absence Details.Return to Work Interview Date})) = true
  and {Absence Details.Return to Work Interview required} = true then
    1
else
    0;

这是公式的实际代码

但是其他部分永远不会被执行,当条件不是真时,报告只显示空白。我不确定我在这里做错了什么。

先谢谢。 - 阿米特

3 个答案:

答案 0 :(得分:2)

也许你的字段中有一些空值 - 在这种情况下,crystal只返回null。然后,您需要“将空值转换为默认值”设置以进行报告或针对空值进行显式测试。

答案 1 :(得分:0)

编辑: NM,代码已发布到评论中。看起来不是这个问题。

我的猜测,假设您已经正确调试,那么您应该在某个地方使用分号。

if {something} = x then
   do something;
else
   do something different;

而不是

if {something} = x then
   do something
else
   do something different;

这会导致行为,假设它没有阻塞孤立的else子句。但正如评论所说,如果没有发布实际代码,我们只能猜测正在发生的事情。它可能就像你的评价总是如此简单。

答案 2 :(得分:0)

0更改为7,看看它是否实际打印7。一些报告生成工具(我对Crystal几乎没有经验但与其他人有相当多的经验)如果它们为零则将字段留空 - 这通常有助于通过减少不必要的混乱来阅读报告。

如果7打印出来,那就是问题所在,这就是弄清楚如何让Crystal输出实际的0。

这可能是配置输出字段甚至将其固定为文本"0"而非数字0的问题。

当然,如果没有打印7,那么请随时告诉我。