我正在使用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。现在我只是用字符串来测试。
答案 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")
按照您想要的方式格式化日期。
如果您正在调试,请在报告中并排显示公式和日期列 检查它是否有效会更容易。