前回2008/09/19(金)のくるくるさんの 質問とは少し違います。
具体的には
A4縦一枚にA5横の納品書 とA5横の受領書を印刷したい
QuickReport1で納品書
QuickReport2で受領書はそれぞれ印刷はできています。
QRCompositeReport1を使っても、データが数枚にわたる場合
QuickReport1納品書がA4上半分に印刷されて、それが終わってから次にQuickReport2で受領書を始めます。そうではなく同時に印刷したい。
QuickReport1とQuickReport2は同じ datesetです。
どうぞよろしくお願い致します。
テクテクさん、こんばんは。
> QuickReport1で納品書
> QuickReport2で受領書はそれぞれ印刷はできています。
これはそれぞれ、A5横に単独で印刷できるという意味ですね。
QRCompositeReportを使えば、データが少ない時はA4一枚に納品書と受領書を印刷できていると・・・。
で、データが多くなると改ページの影響で、先に上半分の納品書だけが印刷されてしまうという事でしょうか。
> QuickReport1とQuickReport2は同じ datesetです。
これは、納品書も受領書も同じDataset(テーブルやクエリ)を参照している、
つまり全く同じ内容を、フォーマットを換えて印刷しているという事でしょうか。
QRCompositeReportについては情報が少ないようですね。
私は、Delphi2の頃からQuickReoirtを使っていますが、存在すら知りませんでした。
発想を変えて、A41ページの上半分に納品書、下半分に受領書をデザインして
コードでガリガリ印刷するのはどうでしょう?
Quest様ありがとうございます
その通りです。
コードでガリガリとは
DetailBandを使わずに データーを1個ずつQRLabelに展開していくのでしょうか?
なるほど、その発想転換は道が見えてきた様です、しかし初心者には遠い道のりです。
QRCompositeReport1というのはこの為の近道と思ってましたが。。。
もう少しここでQRCompositeReport1についてを待ってみて、情報なければその道にトライします。
ありがとうございました。
QRCompositeReportは使ったことがありませんが、TQuickRepを
QRCompositeReport.Reportsに追加することで、一つのプリントジョブで
複数の帳票を印刷できる機能のはずです。
なので、現状のデザインをそのまま使い、上に納品書、下に受領書を印刷
するのであれば、QRCompositeReport.Reportsに、
1ページ目のみ印刷できる納品書を追加
1ページ目のみ印刷できる受領書を追加
2ページ目のみ印刷できる納品書を追加
・・・
と、各ページ毎に帳票インスタンスを作成する必要があると思います。
また、印刷時も割り付け印刷で2ページを1枚で印刷するように指定する
必要もあるでしょう。
なので、Quest さんが提案された、
> 発想を変えて、A41ページの上半分に納品書、下半分に受領書をデザインして
が、一番楽にできると思います。
納品書も受領書も同一のDatasetを利用しているのであれば、納品書の
用紙をA4縦に変更し、DetailBandをぐ〜〜〜っと広げて、受領書の
DetailBandの中身を貼り付けてしまうだけでいいのではないでしょうか?
ほむほむ様ありがとうございます。
QRCompositeReport.Reportsについて、
1ページ目のみ印刷できる納品書を追加
1ページ目のみ印刷できる受領書を追加
2ページ目のみ印刷できる納品書を追加
・・・
は非常に参考になりました。これで解決しそうですが
個別の印刷では出来ているサマリーとページフッターがおかしな動きします。
>印刷時も割り付け印刷で2ページを1枚で印刷するように指定する
その割り付け印刷とは具体的にどのようにするのか
教えて頂けないでしょうか?
それと
>DetailBandをぐ〜〜〜っと広げて、
という事ですが DetailBandにはQRDBTextが入っていて
行間の高さを指定していますが、これを広げる意味がわかりません。
ほんと初心者でお手間かけ申し訳ございません。
よろしくお願いします。
> その割り付け印刷とは具体的にどのようにするのか
用紙1枚に2ページ分、4ページ分とかを印刷する、プリンタドライバで
提供されるものなので、プリンタのダイアログ見てもらうしかないかと。
> という事ですが DetailBandにはQRDBTextが入っていて
> 行間の高さを指定していますが、これを広げる意味がわかりません。
あぁ、そっか、1ページに複数行のデータがあって、それぞれの行が
DetailBandになっているのか。
であれば、DeteilBandを広げて、全部QRLabelに変更して、OnNeedDataを
使う方法に変更しないといけないと思います。
OnNewPageイベントあたりで、QRLabelに納品書と受領書データを流し込む
ことになるでしょう。
つまり、Questさん曰く「コードでガリガリ」ですね。
失礼しました。
QRCompositeReport.Reportsについて、
1ページ目のみ印刷できる納品書を追加
1ページ目のみ印刷できる受領書を追加
2ページ目のみ印刷できる納品書を追加
・・・
実際の枚数が多くても3ぺ−ジほどなので、上記で解決しました。
ぽむぽむ様ありがとうございました。
枚数が多い時はQuest様の「コードでガリガリ」かな。
Quest様ありがとうございました。
ツイート | ![]() |