プロが教えるわが家の防犯対策術!

はじめまして
仕事でクリスタルレポート使うことになったのですが、
初心者のためわからないことが多々あり教えていただきたいのです。

レコード数に関係なく空行を出力したいのですが
どうすれば実現できるのでしょうか?
たとえば、10行明細を出力するとしたら
レコード件数が1件でも残りの9行は空行で出力するという感じです。

クリスタルレポートのバージョンは
8.5.0.217です。
データベースはOracle9を使用しています。

なにぶん初心者なので具体的な手順を教えていただけると
ありがたいです。
お手数をおかけしますが、どうぞ何か良いアドバイスを
よろしくお願いします。

A 回答 (3件)

それじゃ、ヒントだけ書いておきます。



Private Sub ActiveReport_Initialize()
レポートが呼び出された時の処理を記述します。

Private Sub ActiveReport_ReportStart()
レポートが起動したときの処理を記述します。

Private Sub ActiveReport_FetchData(eof as Boolean)
レポートにデータを貼り付ける時の処理を記述します。

まあ、これくらいでご容赦ください。もし、ヘルプ等がインストールされていないとの事ですが必要なものですからインストールされてください。また、メールのでのやり取りでこれ以上の細かなやり取りは出来ないと思いますので、書店で関連書籍をお求めになることをお勧めします。
    • good
    • 0
この回答へのお礼

PAPA0427さん
回答及びヒントありがとうございます。

わかりました、
後は自分でなんかとかがんばってみます。

どうもありがとうございました。

お礼日時:2003/04/18 19:41

う~~~ん。

ちょっとそっけなかったですね。m(__)m

方法1
ボディ部に全部カラムを作成します。いまは多分一行分作成されていると思いますが。必要なライン数分をボディ部に貼付けいきます。
また、レポート中にページ単位で表示させるコードを埋め込んで表示させることになります。

方法2
例えば、1ページに20行表示するとして、データの総数が112行あったとします。
すると、8行足りませんよね。DB上の表示にかかわる項目を、全部Nullか空白で埋めてからインサート文でレコードを8行追加します。
別ファイルにするのは、ワーク的な使い方をするのと、原本データに不要なレコードを追加しないためです。

この回答への補足

PAPA0427さん
回答ありがとうございます。

検討した結果、方法1でやってみようと思います。
そこで再び質問です。
詳細セクションに必要なライン数だけ作成しましたが、
こうなると、表示されるデータは1件目に限られてしまいませんか?
そうならないように
レポート中にページ単位で表示させるコードを埋め込んで表示させるということと認識してよいでしょうか?
またページ単位でコードを埋め込んで表示とはどのようにしたら良いでしょう?

自分で調べろと思われるかもしれませんが、
PCにヘルプがインストールされておらず
八方塞な状態なのです。
お手数をおかけしますがどうぞよろしくお願いします。

補足日時:2003/04/18 18:13
    • good
    • 0

はじめまして。



クリスタルレポートでの空行の処理ですね。

よくやる方法としては、2つあります。
行を繰り返しでは、なくページで作成する。つまり、レポート上に10行なら10行分の表示カラムを設定する。

データの方を10行分用意する。つまり、印刷するときに印刷したい元データを別ファイルへコピーして件数の判定をし、必要な空行の行数を求め、コピーしたファイルへ空行をインサート。

こんなもんで、いかがでしょう?

この回答への補足

PAPA0427さん
回答ありがとうございます。
改めて質問させてください。

前者の方法について。
ページで印刷するというのはページヘッダ又はページフッタに行を作成してしまうということでしょうか?
その場合に詳細にセットされているデータをページヘッダ又はページフッタに表示するにはどうしたらよいのでしょうか?

後者の方法について
別ファイルではなくレポート上で件数の判定をすることは不可能なのでしょうか?また、コピーしたファイルへ空行をインサートというのは、どのようにすれば実現できるのでしょうか?

補足日時:2003/04/18 14:21
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています