Crystal Reports Designer  

ローカル変数(Basic 構文)

ローカル スコープを持つ変数は

Local x As Number 'Dim x As Number と同じです

ローカル変数が使用されるのは、1 つの式の 1 回ずつの評価の間に限られます。つまり、ある式から別の式のローカル変数の値にアクセスすることはできません。

Rem Formula A
Local x as Number
x = 10
formula = x
Rem Formula B
EvaluateAfter ({@Formula A})
Local x as Number
formula = x + 1

EvaluateAfter({@Formula A})関数を呼び出すと、必ず Formula A が評価されてから Formula B が評価されます。Formula A は値 10 を返し、Formula B は値 1 を返します。Formula B は Formula A の x にアクセスできないため、値 10 を使用することも、1 を加算することもできません。その代わり、Formula B は、初期化されていないローカル変数 x のデフォルト値 0 を使用し、それに 1 を加えて 1 を得ます。

別の式の中には、名前は同じで型が異なるローカル変数を作成することもできます。たとえば、Formula A と Formula B で型の宣言は衝突しません。

Rem Formula C
Local x as String
x = "hello"
formula = x

3 つのスコープのうち、最も効率的なのはローカル変数です。ローカル変数は、別の式の別のローカル変数と衝突することもありません。したがって、変数はできる限りローカルとして宣言するのが適切です。

参照

変数のスコープ | グローバル変数 | 共有変数