マスター-詳細レポートでリレーションが指定されていない場合、マスターレコードごとに、すべての詳細レコードが印刷されます。このマスターレコードに関連付けられている詳細レコードのみを印刷するマスター詳細レポートを作成するには、データソース間の関係を作成する必要があります。Relationは、「マスター・ディテール」などのデータソース間の関係を記述します。たとえば、CategoriesIDデータ列のCategoriesデータソースのテーブルでは、一意の名前1を持つ1つのレコードがあり、CategoriesID列のデータのProductsデータソースのテーブルでは、同じ一意の名前1を持つ複数のレコードがある場合があります。次の図は、データソーステーブルの例を示しています。

上の図からわかるように、Categoriesデータソースのテーブルの1という名前のレコードは、Productsデータソースのテーブルの12のレコードに対応します。つまり、CategoriesデータテーブルとProductsデータテーブルの間にあるCategoriesID列データを使用してRelationを作成した場合、Master-Detailレポートを作成するとき、最初のMasterレコードはDetail 12エントリに対応します。次の図は、CategoryName列とProductName列によってレンダリングされたMaster-Detailレポートの例を示しています。ここでは、CategoryIDデータの列によって、ProductデータソースとCategoryデータソースの間にRelationが配置されています。

リレーションのパラメータは、新規リレーション (New Relation) ウィンドウで指定します。このウィンドウを起動するには、データ・ソースのコンテキスト・メニューから 「新規リレーション」 項目を選択するか、 「リレーション」 タブの 「データ設定」 ウィンドウから 「新規リレーション」 ボタンをクリックします。以下の図は、新規リレーションウィンドウの例を示しています。

上の図に示すように、リレーションパラメータを定義する9つのフィールドがあります

「ソース内の名前」 フィールドでは、 (レポート内ではなく) データ・ソースの名前、たとえばデータベース内の元のデータ・ソースの名前を変更できます。

 「名前」 (Name) フィールドでは、ユーザーに表示されるリレーションの名前を変更できます。

 [エイリアス (Alias) ] フィールドでは、リレーションのエイリアスを変更できます。

 「親データソース」 フィールドでは、メイン・データソースを変更できます。マスター/詳細レポートのマスター・エントリであるデータソースが選択されます。

 Childデータ・ソースは、子データ・ソースを変更する機会を提供します。マスター/詳細レポートの詳細エントリであるデータ・ソースが選択されます。

 このフィールドには、マスター・データ・ソースの列キーが表示されます。

 このフィールドには、childデータソースの列キーが表示されます。

 –  フィールドには、データソース間の関係を設定するマスターデータ列キーとchildデータ列キーが表示されます。列キーはADO.NETの作成リレーションのすべてのルールに準拠する必要があります。

1 同じ数である必要があります

2 これらの型は一致している必要があり、文字列型のマスター列キーの場合、子列キーは文字列型である必要があります。

3 など;

[New Relation] ダイアログ・ボックスのデータ列のコントロール・パネルには、4つのボタンがあります。

フィールドからのすべてのデータ列を移動するためのボタンフィールドに又はそれぞれ;

選択したデータ列をフィールドから、またはフィールド内で、またはそれぞれ移動するためのボタン。

選択したデータ列をフィールドから、またはフィールド内で、またはそれぞれ移動するためのボタン。

フィールドからのすべてのデータ列を移動するためのボタンフィールドに又はそれぞれ。