ENGLISH

[Tips14]サブレポート

レポートの中に別レイアウトのレポート(サブレポート)を挿入します。

見積書と発注書といった2枚で1組の帳票の場合、ある1つの見積番号(見積書と発注書共通の番号)を指定して出力すれば見積書(Page1)と発注書(Page2)が1組で出力されますが、見積番号を指定せずに全てのデータを出力(例えば10件)すると、10件の見積書が先に出力され、その後10件の発注書が出力されます。

(Page1:見積書とPage2:発注書の場合の出力順)

出力フロー図
データが複数あって、出力データを指定をしない場合、先にPage1(見積書)が全件出力され、その後Page2(発注書)が全件出力される。

見積書と発注書を常に交互(1組)に出力したい場合、「サブレポート」オブジェクトを使用します。
サブレポートは、レポートの中にサブのレポートを配置して1つのレポートとして出力するオブジェクトです。

子バンドを追加して、サブレポートオブジェクトを配置します。(「Subreport」タブが追加されます)

サブレポートを作成する際、メインページのデータソースと別にサブのデータソースを複製して接続させます。
FastReportがデータを読み込むとき、見積書(メインページ)のデータと発注書(サブレポート)のバンド間でデータ参照の干渉が発生し、正しく読み込まれない可能性があるからです。

データソースを分けた上で、データバンドのフィルタでメインページのデータソースの見積番号とサブレポートデータソースの見積番号を紐づけると、見積書と発注書が1:1の1組の書式として出力できるようになります。

見積書と発注書が正しく改ページされて出力されるための設定を続けます。
まず、メインページの先頭(グループヘッダー)を右クリックして、「新しいページを開始」にチェックを入れます。(グループヘッダーのプロパティ「StartNewPage」がTrueになります)

さらに子バンドで同様に StartNewPage:True とします。サブレポート側では特に設定は不要です。
これにより、見積書の先頭と発注書の最後でそれぞれ改ページされて、個別の見積書/発注書が1枚ずつ、1組ずつで出力されます。

(出力結果)

一覧に戻る

Contactお問い合わせ

お気軽にお問い合わせください。

お問い合わせ

    必須会社名

    個人のお客様は「個人」と入力してください。

    必須お名前
    必須メールアドレス
    必須メールアドレス(確認)
    必須ライセンス ありなし
    ダウンロード目的