Crystal Reports自定义IsNull函数

时间:2012-08-13 13:38:46

标签: function crystal-reports crystal-reports-2008

我正在尝试在Crystal Reports中创建自定义IsNull函数;该函数必须以与MS SQL Server中的IsNull函数相同的方式运行。我想指定一个字段,如果该字段为null,则必须返回一个我指定的值。

IsNull({myField},0) or
IsNull({myField},'Hello World') 

我遇到过我必须为数字字段创建一个单独的函数,为文本字段创建一个单独的函数。我还发现Crystal不允许在自定义函数中使用标准函数,例如ISNULL函数:

Function(NumberVar param, Numbervar setter)
IF ISNULL(param) THEN setter ELSE param

Function(StringVar param, StringVar setter)
IF param = NULL THEN setter ELSE param

有谁知道我如何在Crystal中创建这样的函数并解决自定义函数中的ISNULL

4 个答案:

答案 0 :(得分:11)

你不能将空值传递给自定义函数,所以在其中使用crystal isnull函数是没有意义的。唯一的选择就是把它写成......

if isnull({myField}) then 0 else {myField}

答案 1 :(得分:8)

我发现这个问题,在公式编辑器中,标题中有一个下拉列表,表示:

  • Nulls的例外
  • 空值的默认值

选择第二个(空值的默认值)

答案 2 :(得分:2)

我遇到了同样的行为,但我还没有看到记录在案的原因。

我建议您使用SQL Expression:

//{%myField}
(
  ISNULL({myField},'Hello World') 
)

答案 3 :(得分:1)

这对我有用:

if  (isnull({dbvalue}) or ({dbvalue} ='')) then 
       "Display the required text"
else
       {dbvalue}