- ベストアンサー
クリスタルレポートでレコード数に関係なく空行を出力する方法
- クリスタルレポートのバージョン8.5.0.217を使用して、レコード数に関係なく空行を出力する方法について教えてください。
- 10行明細を出力する場合、レコード件数が1件でも残りの9行は空行で出力したいです。
- 具体的な手順やアドバイスをお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
それじゃ、ヒントだけ書いておきます。 Private Sub ActiveReport_Initialize() レポートが呼び出された時の処理を記述します。 Private Sub ActiveReport_ReportStart() レポートが起動したときの処理を記述します。 Private Sub ActiveReport_FetchData(eof as Boolean) レポートにデータを貼り付ける時の処理を記述します。 まあ、これくらいでご容赦ください。もし、ヘルプ等がインストールされていないとの事ですが必要なものですからインストールされてください。また、メールのでのやり取りでこれ以上の細かなやり取りは出来ないと思いますので、書店で関連書籍をお求めになることをお勧めします。
その他の回答 (2)
- PAPA0427
- ベストアンサー率22% (559/2488)
う~~~ん。ちょっとそっけなかったですね。m(__)m 方法1 ボディ部に全部カラムを作成します。いまは多分一行分作成されていると思いますが。必要なライン数分をボディ部に貼付けいきます。 また、レポート中にページ単位で表示させるコードを埋め込んで表示させることになります。 方法2 例えば、1ページに20行表示するとして、データの総数が112行あったとします。 すると、8行足りませんよね。DB上の表示にかかわる項目を、全部Nullか空白で埋めてからインサート文でレコードを8行追加します。 別ファイルにするのは、ワーク的な使い方をするのと、原本データに不要なレコードを追加しないためです。
補足
PAPA0427さん 回答ありがとうございます。 検討した結果、方法1でやってみようと思います。 そこで再び質問です。 詳細セクションに必要なライン数だけ作成しましたが、 こうなると、表示されるデータは1件目に限られてしまいませんか? そうならないように レポート中にページ単位で表示させるコードを埋め込んで表示させるということと認識してよいでしょうか? またページ単位でコードを埋め込んで表示とはどのようにしたら良いでしょう? 自分で調べろと思われるかもしれませんが、 PCにヘルプがインストールされておらず 八方塞な状態なのです。 お手数をおかけしますがどうぞよろしくお願いします。
- PAPA0427
- ベストアンサー率22% (559/2488)
はじめまして。 クリスタルレポートでの空行の処理ですね。 よくやる方法としては、2つあります。 行を繰り返しでは、なくページで作成する。つまり、レポート上に10行なら10行分の表示カラムを設定する。 データの方を10行分用意する。つまり、印刷するときに印刷したい元データを別ファイルへコピーして件数の判定をし、必要な空行の行数を求め、コピーしたファイルへ空行をインサート。 こんなもんで、いかがでしょう?
補足
PAPA0427さん 回答ありがとうございます。 改めて質問させてください。 前者の方法について。 ページで印刷するというのはページヘッダ又はページフッタに行を作成してしまうということでしょうか? その場合に詳細にセットされているデータをページヘッダ又はページフッタに表示するにはどうしたらよいのでしょうか? 後者の方法について 別ファイルではなくレポート上で件数の判定をすることは不可能なのでしょうか?また、コピーしたファイルへ空行をインサートというのは、どのようにすれば実現できるのでしょうか?
お礼
PAPA0427さん 回答及びヒントありがとうございます。 わかりました、 後は自分でなんかとかがんばってみます。 どうもありがとうございました。