
はじめまして
仕事でクリスタルレポート使うことになったのですが、
初心者のためわからないことが多々あり教えていただきたいのです。
レコード数に関係なく空行を出力したいのですが
どうすれば実現できるのでしょうか?
たとえば、10行明細を出力するとしたら
レコード件数が1件でも残りの9行は空行で出力するという感じです。
クリスタルレポートのバージョンは
8.5.0.217です。
データベースはOracle9を使用しています。
なにぶん初心者なので具体的な手順を教えていただけると
ありがたいです。
お手数をおかけしますが、どうぞ何か良いアドバイスを
よろしくお願いします。
No.3ベストアンサー
- 回答日時:
それじゃ、ヒントだけ書いておきます。
Private Sub ActiveReport_Initialize()
レポートが呼び出された時の処理を記述します。
Private Sub ActiveReport_ReportStart()
レポートが起動したときの処理を記述します。
Private Sub ActiveReport_FetchData(eof as Boolean)
レポートにデータを貼り付ける時の処理を記述します。
まあ、これくらいでご容赦ください。もし、ヘルプ等がインストールされていないとの事ですが必要なものですからインストールされてください。また、メールのでのやり取りでこれ以上の細かなやり取りは出来ないと思いますので、書店で関連書籍をお求めになることをお勧めします。
PAPA0427さん
回答及びヒントありがとうございます。
わかりました、
後は自分でなんかとかがんばってみます。
どうもありがとうございました。
No.2
- 回答日時:
う~~~ん。
ちょっとそっけなかったですね。m(__)m方法1
ボディ部に全部カラムを作成します。いまは多分一行分作成されていると思いますが。必要なライン数分をボディ部に貼付けいきます。
また、レポート中にページ単位で表示させるコードを埋め込んで表示させることになります。
方法2
例えば、1ページに20行表示するとして、データの総数が112行あったとします。
すると、8行足りませんよね。DB上の表示にかかわる項目を、全部Nullか空白で埋めてからインサート文でレコードを8行追加します。
別ファイルにするのは、ワーク的な使い方をするのと、原本データに不要なレコードを追加しないためです。
この回答への補足
PAPA0427さん
回答ありがとうございます。
検討した結果、方法1でやってみようと思います。
そこで再び質問です。
詳細セクションに必要なライン数だけ作成しましたが、
こうなると、表示されるデータは1件目に限られてしまいませんか?
そうならないように
レポート中にページ単位で表示させるコードを埋め込んで表示させるということと認識してよいでしょうか?
またページ単位でコードを埋め込んで表示とはどのようにしたら良いでしょう?
自分で調べろと思われるかもしれませんが、
PCにヘルプがインストールされておらず
八方塞な状態なのです。
お手数をおかけしますがどうぞよろしくお願いします。
No.1
- 回答日時:
はじめまして。
クリスタルレポートでの空行の処理ですね。
よくやる方法としては、2つあります。
行を繰り返しでは、なくページで作成する。つまり、レポート上に10行なら10行分の表示カラムを設定する。
データの方を10行分用意する。つまり、印刷するときに印刷したい元データを別ファイルへコピーして件数の判定をし、必要な空行の行数を求め、コピーしたファイルへ空行をインサート。
こんなもんで、いかがでしょう?
この回答への補足
PAPA0427さん
回答ありがとうございます。
改めて質問させてください。
前者の方法について。
ページで印刷するというのはページヘッダ又はページフッタに行を作成してしまうということでしょうか?
その場合に詳細にセットされているデータをページヘッダ又はページフッタに表示するにはどうしたらよいのでしょうか?
後者の方法について
別ファイルではなくレポート上で件数の判定をすることは不可能なのでしょうか?また、コピーしたファイルへ空行をインサートというのは、どのようにすれば実現できるのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【ExcelVBA】値を変更しながら...
-
エクセル・グラフの 横軸に値を...
-
DataGridの全行編集状態での行追加
-
oo4oによるBLOBデータ取得
-
VBAでMODE関数をつくる
-
構造体配列内の文字列検索のよ...
-
2つ目のレコードの値を取得す...
-
c言語で自分のホームディレク...
-
アクセス ステータスバーの文...
-
C#,繰り返し処理での最大値の取...
-
「テーブルに主キーがありませ...
-
他のMDBのテーブルに追加したい
-
VBからID3タグをいじる方法
-
レコードセットの中身を配列に...
-
COBOLのコーディングについて
-
Access :ALTER TABLE で作成...
-
INT64対応のprintf系関数はあり...
-
VBA 変数名に変数を使用したい。
-
C#で作成したdllをVBScriptで使...
-
スロットマシンの判定方法(VB...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【ExcelVBA】値を変更しながら...
-
VBAコンボボックスの内容が反映...
-
VBAでアクセスDBからデータの取...
-
【C#】textBoxの指定行のデータ...
-
「Nullの使い方が不正です」の...
-
C# DataTableに最後に追加した...
-
【VB.NET】Excelの最終行までの...
-
VB2010で、選択した系列を最前...
-
非同期のプロセス間通信(パイプ...
-
COBOL数値転記の仕様
-
エクセルのマクロ コンボボッ...
-
エクセルのセル最終行取得
-
ListViewで表示されたデータの...
-
クリスタルレポートでレコード...
-
Excel VBAで1週間毎にカテゴリ...
-
アクセスでウェブ上のデータを...
-
エクセルのCSV読み込みについて
-
[リボンのキーボード ショート...
-
Web画面のTableから数字を取得...
-
Excel VBAでフォルダ内の全テキ...
おすすめ情報