- - PR -
サブレポートの表示/非表示について
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-12-03 09:42
現在VB.netでCrystal Reportを使用して帳票出力するプログラムを作成中です。
データによってサブレポートを表示/非表示にする方法が見つからなくて困っています。 複数のフォーマットを持つ帳票を出力したいため ・メインのレポート(Main)の「詳細セクションa,b,c」に複数のサブレポート(A,B,C)を貼り付ける。 ・メインレポート(Main)にA,B,Cの情報を持つデータセットを設定し、帳票を出力。 ここまでで、A,B,Cのデータが存在する場合はうまく動作しますが、実現したいのはA,B,Cのいずれかのデータ件数が0件の場合、そのサブレポートを表示させないようにしたいのですが、うまくいきません。 セクションエキスパートの詳細、「非表示-ドリルダウン不可」に ---------------------------- WhilePrintingRecords; //Aが0件なら非表示 If (COUNT({A.DATA}) = 0) then True Else False ---------------------------- としましたが、データが入っていない空のサブレポートが表示されるだけです。 サブレポート自体を完全に非表示にすることは不可能なのでしょうか? メインのレポートを複数つくるしかないのかな?と検討中です。 もし分かる方がいらっしゃればご教授願います。 |
|
投稿日時: 2004-12-03 13:35
けい様
詳細を3分割してそれぞれサブレポートを挿入していると思いますが・・ 詳細bの「非表示-ドリルダウン不可」に同じ式をそのまま代入してみてください。その結果、詳細bが非表示となると思います。 この場合、非表示にしたい箇所よりも前にサブレポートのデータ有無を知る必要があります。例えば、データ有無をチェックするためのサブレポートをレポートヘッダーに挿入しておきます。このサブレポートの表示が不要ですが、非表示にするとデータの計算が行われないため、なるべく小さくし表示したときに内容が見れないようにします。 サブレポートの中で共有変数を利用して、データ有無を保存しておきます。 非表示したい詳細xの「非表示-ドリルダウン不可」の式の中で共有変数の内容をチェックします。 |
|
投稿日時: 2004-12-03 18:25
GTG様
ありがとうございます。 早速試してみます。 |
1