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