Crystal Reports 変数


スコープを特に指定しなかった場合、グローバル変数となる。
そのスクリプト内でのみ使用したい場合は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