Crystal Reports 2011 - Integer to String并返回Integer

时间:2013-07-04 01:07:13

标签: string crystal-reports integer

我有一个计算日期差异的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()时,它无法弄清楚数字是什么...... :(

请帮忙......!

1 个答案:

答案 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