【问题标题】:Crystal Reports Custom IsNull FunctionCrystal Reports 自定义 IsNull 函数
【发布时间】:2012-08-09 17:59:27
【问题描述】:

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

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 的问题?

【问题讨论】:

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


    【解决方案1】:

    这对我有用:

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

    【讨论】:

      【解决方案2】:

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

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

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

       

      【讨论】:

        【解决方案3】:

        您不能将空值传递给自定义函数,因此在其中使用水晶的isnull 函数毫无意义。唯一的选择是写成...

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

        【讨论】:

          【解决方案4】:

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

          我建议您使用 SQL 表达式:

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2020-01-05
            • 1970-01-01
            • 2021-06-02
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多