スコープを特に指定しなかった場合、グローバル変数となる。
そのスクリプト内でのみ使用したい場合はLocalと明示する。
そのほかにサブレポートとも共有できるShared変数(最も範囲が広い)もある。
スクリプトの記述例(式フィールドを作成して以下のスクリプトを記述)
ヘッダ項目1
//初期化 WhilePrintingRecords; NumberVar wkNum:=1;
明細項目1
//増加 WhilePrintingRecords; NumberVar wkNum:= wkNum * 2; ←NumberVarとつけないとエラーになるので注意
明細項目2
//ローカル変数 WhilePrintingRecords; Local NumberVar wkLocalNum:= wkLocalNum + 10; ←Localとスコープを指定
オブジェクトの配置
ヘッダ項目1(非表示) ←プリントヘッダ部 _______________ 明細項目1 明細項目2 ←明細部
出力イメージ
_____________ 2 10 4 10 6 10 8 10 10 10
左の項目はグローバル変数なので加算される(ヘッダで初期化しているので改ページされたときクリア)
右の項目はローカル変数なので加算されない
動作確認環境:Crystal Reports XI R2