サブレポートは、メインレポートに存在するデータに関する追加情報を表示する場合に便利です。レポートにパラメータを渡すように、サブレポートにパラメータを渡して、サブレポート内のデータ値間の関係を形成することもできます。
たとえば、メインレポート内に並べてレンダリングされるサブレポートにデータをフェッチするとします。このようなシナリオを実現するには、次の手順に従います。
- C1FlexReportDesigner.exe アプリケーションを実行します。
- 非連結モードで、メインレポートの新しいレポート定義を作成します。
- もう 1 つのレポートを作成し、それを C1NWind.mdb にある Photos レポートに連結します。
- [挿入]タブからサブレポートフィールドをクリックします。利用できるレポートがすべて表示されます。
- 2 つのサブレポートフィールドをドロップして横に並べます。
- 2 つのパラメータを追加します。これらのパラメータは、2 つのサブレポートに 1 つずつ渡されます。
- Name プロパティからパラメータ名を設定します。左側のサブレポートのパラメータを「prmLeftPlace」に、右側のサブレポートのパラメータを「prmRightPlace」にします。
- パラメータのデータソースを追加し、データプロバイダと接続文字列を設定します。パラメータに値を渡すために使用される SQL 文を記述します。たとえば、Photos レポートから Place を選択するには、次のようになります。
select distinct Place from Photos order by Place
- 2 つのパラメータに対して AllowedValuesDefinition プロパティを設定します。-
- AllowedValuesDefinition の横にある省略符ボタンをクリックします。
- [AllowedValuesDefinition エディタ]ダイアログボックスで、[データソースから]ラジオボタンを選択します。
- データソースをパラメータに連結するために、[データソース]、[ラベル]、および[値]を選択します。
- 各パラメータの Prompt プロパティからプロンプトテキストを設定します。
- サブレポート Photos を選択し、[データ]タブをクリックします。
- データソースを編集し、次の SQL 文を記述します。
select distinct Place from Photos order by Place
- メインレポートを選択し、左側のサブレポートフィールドをクリックします。横の省略符をクリックすると、[ParameterValues エディタ]が表示されます。次のように名前と値を設定します。
- 同様に、右側のサブレポートフィールドに対して、[名前]を「prmPlace」、[値]を「prmRightPlace.Value」に設定します。デザインビューでは、次の図のようにレポートが表示されます。
- レポートをプレビュー表示します。
2 つのパラメータプロンプト(2 つのサブレポートに 1 つずつ)に値(場所)のリストが表示されていることがわかります。値を選択し、[パラメータの適用]をクリックします。ここでは、左側のサブレポートで Chaumont、右側のサブレポートで Cote d'Azur を選択しました。