我有一个计算日期差异的SQL列,显然是一个整数。在我看来,我需要发生的事情非常简单;但我找不到使它工作的语法。
目标是获取所有NULL值并使它们说“Missing”,同时将列中的其余数据保持为整数。
我这样做是为了让NULLS = 0(实际上并不需要tonumber(),我还没改变它):
if isnull({Command.DAYS_OUT}) = true then 0 else tonumber({Command.DAYS_OUT})
但我真正想要的是if isnull({Command.DAYS_OUT}) = true then "Missing" else {Command.DAYS_OUT}
。不幸的是,Crystal吐出了愚蠢的“这里需要一个字符串”。好吧,我不想要一个字符串!
我不能在ELSE语句中使用totext()。我需要使用Highlight Expert来说,如果缺少那么红色,如果< 0然后是红色/粗体,并且在1和1之间。 30黄/粗。当我使用totext()时,它无法弄清楚数字是什么...... :(
请帮忙......!
答案 0 :(得分:0)
您不能拥有一个输出多种数据类型的公式。相反,您可以让您的公式输出一个像您已经提到的字符串:
if isnull({Command.DAYS_OUT}) then "Missing" else totext({Command.DAYS_OUT})
然后,要按照您希望的方式格式化字体颜色,可以使用原始整数值:
if isnull({Command.DAYS_OUT}) or {Command.DAYS_OUT} < 0 then crRed
else if {Command.DAYS_OUT} in 1 to 30 then crYellow
else crBlack
然后对字体类型执行相同的操作:
if isnull({Command.DAYS_OUT}) then crRegular
else if {Command.DAYS_OUT} < 0 or {Command.DAYS_OUT} in 1 to 30 then crBold
else crRegular