DOBON.NET DOBON.NETプログラミング掲示板過去ログ

クリレポの改ページ処理について

環境/言語:[VB.NET 2003]
分類:[.NET]

こんにちは。
いつもお世話になっております。
前回投げた質問の回答をいただいたばかりで恐縮なのですが、
またしても、ご教授いただきたい問題が・・・・。

今回は、クリレポの改ページについてなのですが、
こちらに書き込みしてもよろしかったでしょうか?
(VB.NETの掲示板ということでしたので・・・不都合があれば、教えてください)

現在、メインレポートの中にサブレポートを1つ用意して表示させています。
┌-------------------------------------------------
|メイン 1ページ目

|┌-------------------------------------------
||サブ (4行ずつ表示したい)
||- 1行目
||- 2行目
||- 3行目
||- 4行目
|└-------------------------------------------
└------------------------------------------------
といった感じです。

サブに挿入されるレコードが4つ以上あった場合は、
メインの内容は同じもので、サブの中に、続く5行目〜9行目を表示するというものです。
(拙くてすみません^^; イメージ沸きますでしょうか・・・)


ところが、何の設定もしないと、
┌-------------------------------------------------
|メイン 1ページ目

|┌-------------------------------------------
||サブ
||- 1行目
||- 2行目
||- 3行目
||- 4行目
||- 5行目
||- 6行目
||- 7行目
|└-------------------------------------------
└------------------------------------------------
と、レコードがなくなるまで表示されてしまいます。

何も処理をしていないからだ、というのは分かります。
・・・が、あちこちで検索をかけても詳しい改ページ処理の仕方というのが
見つかりません。

また、
'↓------------------------------------------
WhilePrintingRecords;
numberVar x;
numberVar i;

if i > 3 then
  x := x + {金額}
else
  {金額};
'↑------------------------------------------
のような記述を例として挙げられているのを多く見かけたのですが、
説明されている通りに、ページヘッダーやグループヘッダーにコードを
追加してみてもうまくいきませんでした。

クリレポの改ページ処理とは、一体どのように記述するものなのでしょうか?
詳しく、分かりやすいサイトやアドバイスをよろしくお願いします。

長文、失礼いたしました_(._.)_
lonさん、こんばんは。

私の場合ですが、サブレポートはあくまでサブ。
どう言う事かと言うと、まったく関連がないテーブルの内容を表示したいときだけ、サブレポートを使う。
それ以外は、メインレポートを使う。

当然、今回のケースの場合、4行目が出力されたタイミングで改ページ処理を行えば、求めている内容になるのではないでしょうか?

う〜ん、こういうのって、説明が難しいですが、サブレポートを改ページさせる事に悩むよりも、メインページの改ページのタイミングに悩んだほうが、はるかに生産性が高いと思いますよ。
2004/12/06(Mon) 19:19:03 編集(投稿者)
2004/12/06(Mon) 19:13:33 編集(投稿者)
2004/12/06(Mon) 19:12:45 編集(投稿者)

こんばんは。
お返事ありがとうございます。
その方法で解決できると非常に助かるのですが・・・、
ウチの場合、システム事態やDBの中身が少々特殊な作りになっているらしく。

古い言語を使って作成されていたものをVB.NETで作り直そう、と
しているのですが、現在動いているプログラム群(?)の中に、
[帳票を出力しやすくするためのTBL]というものが存在しています。

そのTBLを簡単に表すと以下のような感じです。
↓---------------------------------------------------
出力NO  SEQ  CD1   CD2  データA   データB ・・・
 0001    1   001   101   あいう    あいうえお ・・・
 0001    2   001   101   かきく    かきくけこ ・・・
 0001    3   001   101   さしす    さしすせそ ・・・
 0001    4   001   101   たちつ    たちつてと ・・・
 0001    5   001   101   なにぬ    なにぬねの ・・・

 0002    1   002   201   はひふ    はひふへほ ・・・
 0002    2   002   201   まみむ    まみむめも ・・・
↑---------------------------------------------------

これを最初にあげたような帳票に表示すると、

┌-------------------------------------------------
|メイン 1-1ページ目
| 0001     001  101
|┌-------------------------------------------
||サブ
||- あいう   あいうえお
||- かきく   かきくけこ
||- さしす   さしすせそ
||- たちつ   たちつてと
|└-------------------------------------------
└------------------------------------------------
┌-------------------------------------------------
|メイン 1-2ページ目
| 0001     001  101
|┌-------------------------------------------
||サブ
||- なにぬ   なにぬねの
|└-------------------------------------------
└------------------------------------------------
┌-------------------------------------------------
|メイン 2-1ページ目
| 0002     002  201
|┌-------------------------------------------
||サブ
||- はひふ   はひふへほ
||- まみむ   まみむめも
|└-------------------------------------------
└------------------------------------------------
・・・となります。
(なるはず。そうしたい・・・。)

昔作成されたときに使われた言語・ツールが、結構融通の利くもので
あったらしく、もっと複雑な処理がなされています。
(サブレポート(に代わる機能の物)がいくらでもネスト出来たりとか・・・)

また、現在私が進めているのはあくまでも試作品で、
『VB.NET + クリレポだと、どんな感じの帳票が作れるのか』
『どこまで現状どおり(見た目・機能ともに)にいけるのか』
を把握するために、中でも簡単な帳票を使って試行錯誤しているところなのです。
(私にとって、クリレポを使用する自体が初めてに近いので、尚更・・・)

『今は、コードや動きに無駄が多くてもいいから、
 とりあえず、一通りの機能を使いこなそう・・・』
と言ったところでしょうか。

なので、ぺがらぼさんに頂いた指摘は十分に理解しているのですが、
できれば今進めている形で終わらせたいな、と・・・。

せっかくアドバイスを頂いたのに申し訳ないのですが、
何とかこのままの方向で進めたいと思っています_(._.)_
こちらについても助言頂けたら幸いです。

よろしくお願いいたします。
2004/12/07(Tue) 13:21:54 編集(投稿者)

こんにちは。

どうやら、なかなか難しいことのようですね^^;
色々な人に意見を求めるという意味で、他の掲示板に書き込みを
するにあたって、このままではマルチポストとなってしまうので、
こちらは一度解決とさせて頂きます。

回答を下さった方、参照下さった方、ありがとうございました。
解決済み!
lonさん、おはようございます。
解決しているので、もう、見ないかもしれませんが、
アドバイスとして...
「7886」を見る限り、サブレポートを使う必要はなさそうです。
むしろ、ヘッダーと詳細、グループを使うだけで、望みの結果が出ると思います。
そんなに、小難しく考えずに、感覚でやってみてください。

#とりあえず、解決チェックを継続しておきます。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板