お世話になります。
現在クリスタルレポートを使用し、印刷機能を作成しております。
環境は、環境は、Visual Studio 2008でCrystal Reports Basic for Visual Studio 2008となります。
その中で、印刷するレコード数により改ページをするタイミングを操作したいと考えております。
印刷内容としては、抽出したデータ(名前)を1行ずつ印刷し、最後にロゴと差出人の情報を印刷するという単純なものとなります。
ただし、差出人情報はレコード数が最後に達したら印字すると考えておりますのでその都度、印字位置が移動することとなります。
ちなみに用紙1枚にデータと差出人情報を納めようとするとレコード数はMAX19行までで、その後に差出人情報を印字します。
お聞きしたいのは、MAX20行以上のレコード数の場合となりますと差出人情報が途中で切れてしまうので、
差出人情報につきましては改ページをして次の用紙に印字するように考えております。
(差出人情報だけ次ページというのも違和感があるのでそのあたりの仕様については再考する必要もあるかと思いますが・・・)
現時点では、クリスタルレポートの「詳細」部分にデータ(名前)フィールドを追加し、
レポートフッター部分に差出人情報関連のフィールドをセットしております。
「詳細」部分で右クリックし、「セクションエキスパート」を開き、「出力後に改ページ」項目横の「x-2」ボタンをクリックし、
その中で「(RecordNumber Mod 19)=0」という1行のみを追加している状況です。
この場合、19行まで印字して直ぐに改ページしてしまうので1枚目の用紙の下部が何も印字されることなく空白状態となり見た目が悪いので
改ページする場合は1枚目のできるだけ下部まで印字し、その後で改ページをしたいと考えております。
例えば、レコード数が30行の場合、1枚目に23行まで印字し、改ページ後の2枚目に24行目から最後のレコードまで印字し、
最後に差出人情報を印字するというようにしたいと考えております。
その場合、どのようにしたらよいかわかりません。
何かよい方法はありますでしょうか?
レコード数が19の場合 レコード数が30の場合(1枚目) レコード数が30の場合(2枚目)
----------- ----------- -----------
| レコード1 | | レコード1 | | レコード24 |
| レコード2 | | レコード2 | | レコード25 |
| レコード3 | | レコード3 | | レコード26 |
| ・ | | ・ | | ・ |
| ・ | | ・ | | ・ |
| レコード19 | | レコード19 | | レコード30 |
| | | レコード20 | | 差出人情報 |
| 差出人情報 | | レコード21 | | |
| | | レコード22 | | |
| | | レコード23 | | |
----------- ----------- -----------
あなたの回答
tips
プレビュー