在水晶报告中如何在null上显示默认值?

时间:2012-10-01 23:42:17

标签: crystal-reports null formula

我正在使用VS 2010,但我不确定Crystal会报道它是哪一年。 2008年还是2010年?我想在日期字段为空时显示“N / A”。这是我的公式

  If isnull({usp_print_get;1.Cit_Date}) then 'its null' else 'not null'

当有日期时会打印'not null'但是如果没有日期它只留空空而不是打印'it null'我检查了数据库并且该记录的日期字段是确实为null,而不是空格或空字符串。任何帮助表示赞赏。最后我想打印'N / A'时它的null或实际的Cit_Date。现在我只是用字符串来测试。

1 个答案:

答案 0 :(得分:3)

看看你的公式,它应该有效,它只是奇怪的语法。使用双引号而不是单引号。

IF isnull({usp_print_get;1.Cit_Date}) THEN 
  "N/A"
ELSE
  " "

但是如果您想要使用此公式的日期,则必须将其转换为字符串。输出必须是相同的数据类型,它会混淆格式化选项。

IF isnull({usp_print_get;1.Cit_Date}) THEN 
  "N/A"
ELSE
  TO_TEXT({usp_print_get;1.Cit_Date}, "MM-dd-yyyy")

按照您想要的方式格式化日期。

如果您正在调试,请在报告中并排显示公式和日期列 检查它是否有效会更容易。