0

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

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

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

4

1 回答 1

3

查看您的公式,它应该可以工作,只是语法很奇怪。使用双引号而不是单引号。

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

但是,如果您想在此公式中使用日期,则必须将其转换为字符串。输出必须是相同的数据类型,它会弄乱 Formatting 选项。

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

以您想要的方式格式化日期。

如果您正在调试,请将公式和日期列并排放在报告中。
更容易检查它是否正常工作。

于 2012-10-02T10:46:23.160 回答