サブレポートをプライマリ レポートにリンクする場合は、パラメータ フィールドを使ってリンクが作成されます。
サブレポートのリンク フィールドを選択すると、次の処理が行われます。
プライマリ レポートから渡される値を取得するためのパラメータ フィールドが作成されます。
パラメータ フィールドを使ったレコード選択式が、サブレポートに作成されます。
この選択式により、サブレポートのレコードは、リンク フィールドの値がパラメータ フィールドの値に等しいレコードに限定されます。
レポートを実行すると、プライマリ レポート フィールドの最初のレコードが見つけられ、リンク フィールドの値がサブレポートのパラメータ フィールドに渡されます。次に、パラメータ フィールド値を基にしてレコードを選択し、サブレポートが作成されます。次はその例です。
顧客データを表示するレポートおよび注文データを表示するサブレポートを作成します。そして、“顧客番号”フィールドを使って 2 つのレポートをリンクします。
レポートを実行すると、最初の顧客レコードが見つけられ、そのレコードの“顧客番号”の値がサブレポートのパラメータ フィールドに渡されます。
注文サブレポートが実行されます。サブレポートの選択式により、“顧客番号”の値がパラメータ フィールドの値と等しいレコードだけが選択され、そのパラメータ フィールドの値は、プライマリ レポートの最初のレコードの“顧客番号”と等しいので、サブレポートには、“顧客番号”が同じレコードだけが含まれます。つまり、それらのレコードは、最初の顧客の注文です。
サブレポートが完了すると、プライマリ レポートの 2 番目のレコードに移り、その顧客データが出力され、さらにこの顧客の番号がパラメータ フィールドに渡されます。
2 番目の顧客の注文レコードだけを含むサブレポートが実行されます。
このパラメータ フィールドの操作は、すべてバックグラウンドで行われます。プライマリ レポートとサブレポートをリンクするフィールドを選択するだけで、残りの作業は、プログラムが行います。パラメータ フィールドに値が渡される際、ユーザーに入力は求められません。