5

CrystalReportsでカスタムIsNull関数を作成しようとしています。この関数は、MSSQLServerの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

ISNULLCrystalでこのような関数を作成し、カスタム関数の内部を回避する方法を知っている人はいますか?

4

4 に答える 4

11

null値をカスタム関数に渡すことはできないため、結晶の関数をカスタム関数isnull内で使用することは無意味です。唯一のオプションはそれを次のように書くことです...

if isnull({myField}) then 0 else {myField}
于 2012-08-13T14:26:18.437 に答える
11

この問題が見つかりました。式エディターでは、ヘッダーに次のことを示すドロップダウンがあります。

  • Null の例外
  • null のデフォルト値

2 番目のものを選択します (null のデフォルト値)

 

于 2014-04-21T20:56:59.297 に答える
2

私は同じ動作に遭遇しましたが、これについて文書化された理由をまだ見ていません。

SQL 式を使用することをお勧めします。

//{%myField}
(
  ISNULL({myField},'Hello World') 
)
于 2012-08-13T14:21:03.457 に答える
1

これは私のために働いた:

if  (isnull({dbvalue}) or ({dbvalue} ='')) then 
       "Display the required text"
else
       {dbvalue}
于 2016-01-30T00:05:53.330 に答える