QuickReportのQRCompositeReportコンポーネントについて

解決


yamada  2012-02-16 14:08:02  No: 41620  IP: 192.*.*.*

QuickReportの印刷で
QRCompositeReportを使用して
2種類の帳票を1回の命令でプレビュー、印刷することができたのですが、
ディテールバンド設置している為、

例えば、対象データがそれぞれ3件あった場合に、
1-1、1-2、1-3、2-1、2-2、2-3とプレビュー表示されます。

これを
1-1、2-1、1-2、2-2、1-3、2-3とプレビューさせることは可能でしょうか?

どうか、ご教授願います。

開発環境はXP、Delphi2010 PRO、QuickReport5.04です。

編集 削除
初心者  2012-02-16 17:45:35  No: 41621  IP: 192.*.*.*

1-○、2-○  各データセット3行のレコードがある場合ですか?
1-1
1-2
1-3
2-1
2-2
2-3
上記のように同じページで縦に表示されているのを
1-1
2-1
1-2
2-2
1-3
2-3
のように表示させたいのでしょうか?

それとも1ページ目 1-1 2ページ目  1-2  を1ページ目 1-1 2ページ目  2-1
のようにプレビュー表示にさせたいのでしょうか?

編集 削除
yamada  2012-02-16 18:40:51  No: 41622  IP: 192.*.*.*

各データセットに3行レコードがある場合です。
帳票毎にデータセットは異なります。

1-1
2-1
1-2
2-2
1-3
2-3

のようにプレビュー表示させたいのです。

現在は、1回のプレビューで済んでますが、
1-1
1-2
1-3
2-1
2-2
2-3
となってます。

上記例では、まずいので、今のところ
1-1
1-2
1-3
印刷プレビュー
---------
2-1
2-2
2-3
印刷プレビュー

としておりますが、何度もプレビュー画面が出てくるため、
なんとか方法はないかと調べております。

よろしくおねがいします。

編集 削除
初心者  2012-02-17 08:23:32  No: 41623  IP: 192.*.*.*

2つのデータセットをUNION等で1つにして、ソート条件を
1-1 2-1 1-2 〜のように変更するのはどうでしょうか?

それとも1のデータセットと2のデータセットでは帳票のレイアウトが変わっているのでしょうか?

編集 削除
yamada  2012-02-17 09:54:32  No: 41624  IP: 192.*.*.*

御提案ありがとうございます。

キー項目のみ共通で、他の項目は異なってまして、
データ量も万単位で、結構複雑な処理をしているので、厳しそうです。

帳票レイアウトもかなり違います。
5種類ほどの帳票の印刷を選択制にしており、
難しい状態です。

編集 削除
初心者  2012-02-17 12:42:16  No: 41625  IP: 192.*.*.*

一つ質問なのですが、最終的に印刷が1-1  2-1  1-2〜のようになればいいのでしょうか?

それともプレビューも1-1  2-1〜のように表示させないといけないのでしょうか?

印刷だけであれば、過去に以下のやり方で似たような処理を行いました。
印刷前に配列等に1-1,A 2-1,B 1-2,C 2-2,D 1-3,E 2-3,Fと格納して
印刷処理をループして
1-1レイアウトA 印刷処理
2-1レイアウトB 印刷処理
1-2レイアウトC 印刷処理
2-2レイアウトD 印刷処理
1-3レイアウトE 印刷処理
2-3レイアウトF 印刷処理
のように処理するしかない気がしますが、このやり方でプレヴュー処理をすると6回表示されてしまうので、印刷のみのやり方になってしまいます・・・

編集 削除
かず  2012-02-18 11:57:35  No: 41626  IP: 192.*.*.*

QuickReportは指定されたデータベースを印刷するのが基本です。
この件は、QuickReportの問題ではなく、使用しているデータベースの設計の問題です。
データの印刷順を変えたいのであれば、DBに2次キーを作成し、そのキーをQuickReportに受け継ぎだけです。

編集 削除
yamada  2012-02-20 17:00:47  No: 41627  IP: 192.*.*.*

初心者様 返事ありがとうございます。

おっしゃるとおり、印刷自体は、ループでOKなんですが、
プレビューも1回での表示にしたいのです。
1回でいけると、自動的に印刷も1回の命令でいけるわけですが。
難しそうですねぇ。

かず様 返事ありがとうございます。

>>QuickReportは指定されたデータベースを印刷するのが基本です。
はおっしゃるとおりです。
それでもできないのかなぁ、と思って質問させて頂きました。

データベースの設計は変更できないので、QuickReport側の制御で
なんとかならんものかと思っていましたが。

編集 削除
ぽむぽむ  2012-02-21 08:40:09  No: 41628  IP: 192.*.*.*

> QRCompositeReportを使用して
> 2種類の帳票を1回の命令でプレビュー、印刷することができたのですが、
これができているのであれば、

初心者さん提示の
> 1-1レイアウトA 印刷処理
> 2-1レイアウトB 印刷処理
> 1-2レイアウトC 印刷処理
> 2-2レイアウトD 印刷処理
> 1-3レイアウトE 印刷処理
> 2-3レイアウトF 印刷処理
の順の通り、QRCompositeReportに登録したらいいのでは?
・・・と思ったけど、そんな簡単な話じゃないのかな?

QRCompositeReportに登録できれば、プレビューも印刷も一回で済む・・・
という仕様のコンポーネントだと思っているけど、使ったことないので(^^;)

編集 削除
初心者  2012-02-21 08:53:34  No: 41629  IP: 192.*.*.*

ふと思ったのですが、データセット2つから6つにする方法はどうでしょうか?
データセット1  1-1
データセット2  2-1
・・・
データセット6  2-3

QRCompositeReportにデータセット1から6を順番に登録してみては?

編集 削除
yamada  2012-02-23 15:27:11  No: 41630  IP: 192.*.*.*

ぽむぽむ様 返事ありがとうございます。

>>の順の通り、QRCompositeReportに登録したらいいのでは?
とすると、

1-1レイアウトA 印刷処理
2-1レイアウトB 印刷処理
------プレビュー-------
1-2レイアウトC 印刷処理
2-2レイアウトD 印刷処理
------プレビュー-------
1-3レイアウトE 印刷処理
2-3レイアウトF 印刷処理
------プレビュー-------

となってしまうのですよ。
コンポーネントは今回初めて使ってみましたが、応用が効かなくて。


初心者様 返事ありがとうございます。

データセット2つから6つにする方法は厳しいですね(笑)
・印刷枚数がわからない
・出力が万単位
等々の理由から難しいです。

納期があったので、

初心者様提示の
「印刷処理をループを行う」で作成し、
「複数枚に渡る印刷プレビューは行わない」の方針でいきました。

結論は出ませんでしたが、解決とさせて頂きます。
皆様どうもありがとうございました!

編集 削除
yamada  2012-02-23 15:27:50  No: 41631  IP: 192.*.*.*

チェック忘れました。

編集 削除