我正在尝试在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
?
答案 0 :(得分:11)
你不能将空值传递给自定义函数,所以在其中使用crystal isnull
函数是没有意义的。唯一的选择就是把它写成......
if isnull({myField}) then 0 else {myField}
答案 1 :(得分:8)
我发现这个问题,在公式编辑器中,标题中有一个下拉列表,表示:
选择第二个(空值的默认值)
答案 2 :(得分:2)
我遇到了同样的行为,但我还没有看到记录在案的原因。
我建议您使用SQL Expression:
//{%myField}
(
ISNULL({myField},'Hello World')
)
答案 3 :(得分:1)
这对我有用:
if (isnull({dbvalue}) or ({dbvalue} ='')) then
"Display the required text"
else
{dbvalue}