このサイトをご覧になるには、JavaScriptを有効にしてください。
マスター・ディテールレポートでリレーショナルを指定しない場合、各マスターレコードに対して、すべてのディテールレコードが印刷されます。 このマスターレコード に関連するディテールレコードのみを印刷するマスター-ディテールレポートを作成するには、 データソース間のリレーションを作成する必要があります。リレーションは、 "マスター・ディテール"のようなデータソース間の関係を記述します。たとえば 、 CategoriesID データ列のカテゴリデータソースのテーブルでは、一意の名前 1で 1つのレコードがあり、CategoriesID 列のデータで Products データソースのテーブルでは、同じ一意の名前1で多くのレコードがあるかもしれません。下図は、データソース・テーブルの例です。
上の図からわかるように、Categoriesデータソースのテーブルにある名前1の1レコードは、Productsデータソースのテーブルの12レコードに対応します。つまり、CategoriesテーブルとProductsテーブルの間にCategoriesID列データによるリレーションを作成すると、マスター・ディテールレポートを作成する際に、最初のマスターレコードがディテール12件に対応することになります。下図は、CategoryName列と ProductName列によるマスター・ディテールレポートのレンダリング例で、ProductデータソースとCategoryデータソースの間にCategoryIDデータの列によってリレーションが配置されています。
リレーションのパラメータは 、「新規リレーション」 ウィンドウで指定します。 このウィンドウを表示するには、データソースのコンテキストメニューから「新規リレーション」を選択するか、データセットアップウィンドウの「リレーション」 タブにある「新規リレーション」 ボタンをクリックします。 下の図は、「新規リレーション」 ウィンドウの例です。
上の図に見られるように、9つのフィールドがあり、これがリレーションシップのパラメータを定義しています。
ソース内の名前 フィールドは 、 データソースの名前(レポート内ではない)です。例えばデータベース内のオリジナルのデータソースの名前を変更する機会を提供します。
名前 フィールドは 、 ユーザーに表示されるリレーションの名前を変更する機会を提供します。
エイリアス フィールドは 、リ レーションのエイリアスを変更する機会を提供します。
親データソースは、主データソース、すなわち マスター・ディテールレポートのマスター項目である項目が選択されるデータソースを変更する機会を提供します。
子データソースは、子データソースを変更する機会を提供し、エントリは、マスター・ディテールレポート内のディテールエントリであるデータソースが選択されています。
このフィールドには、マスターデータソースのカラムキーが表示されます。
このフィールドは、子データソースの列のキーを表示します。
- フィールドには 、 データソース間のリレーションを設定するマスターとチャイルドデータのカラムキーが表示されます。 カラムキーはADO.NETのリレーション作成ルールをすべて満たしている必要があります。
1 同じ数でなければなりません。
2 もしマスターのカラムキーがString型であれば、 子のカラムキーもString 型でなければなりません。
[新規関係作成] ダイアログボックスのデータ列のコントロールパネルは 4つのボタンで表現されています。
フィールドまたは からすべてのデータ列をフィールドまたはにそれぞれ移動するボタンです。
選択されたデータ列をフィールド またはからそれぞれフィールドまたはに移動するボタンです。
選択されたデータ列をフィールドまたはからそれぞれフィールドまたはに移動するボタンです。
フィールドまたはからすべてのデータ列をフィールドまたはにそれぞれ移動するボタンです。