我在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;
这是公式的实际代码
但是其他部分永远不会被执行,当条件不是真时,报告只显示空白。我不确定我在这里做错了什么。
先谢谢。 - 阿米特
答案 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
,那么请随时告诉我。