Crystal Reports Designer  

カスタム関数の評価時期

式を、必要に応じて評価したり、呼び出して評価することはできません(何らかの処理を行うために、ある式が別の式を呼び出すことはできません。この場合、グローバル変数を使用して呼び出すこともできません)。

例 :

Rem Formula PrintSquare
Global x As Number
x = 5
formula = CStr(x,0) & "の二乗は" &
ToText ({@square}, 0) & "です。"

Rem Formula Square
Global x As Number
formula = x * x

式 PrintSquare をレポートで使用すると、次の結果が得られます。

5 の二乗は 0 です。

この例では、式 PrintSquare が式 Square を使用するので、Crystal Reports はこれらを評価するよう命令を出します。最初に Square が評価され、次に PrintSquare が評価されます。Square が評価されるときには、グローバル変数 x の値は 0 です。これは、初期化されていない数値型の変数の値が 0 であるためです。

一方カスタム関数は、要求に応じて、または呼び出して評価できます。前の例でカスタム関数を使用すると、次のようになります。

Rem Formula PrintSquare
formula = CStr(5,0) & "の二乗は" &
CStr(cf9Square (5),0) + "です。"

Rem Custom Function cf9Square
Function cf9Square (x As Number)
cf9Square = x * x
End Function

この場合は、式 PrintSquare をレポートで使用すると、次の結果が得られます。

5 の二乗は 25 です。

参照

カスタム関数の作成 | カスタム関数の Basic 構文 | カスタム関数の Crystal 構文