関連テーブルと関連ファイルの操作 > リレーションシップのタイプについて > 複数条件リレーションシップについて
 
複数条件リレーションシップについて
複数条件リレーションシップでは、照合フィールドの数を増やします。これにより、FileMaker Pro が関連フィールドを正しく連結する前に評価する条件を増やします。複数条件リレーションシップでは、リレーションシップの各テーブルの各照合フィールドの値は、フィールドが表示されている順に比較されます。これは AND 比較演算で、正しく一致するには、すべての照合フィールドに対して、他方のテーブルに対応する値が存在する必要があります。
複数条件リレーションシップを示す 2 つのフィールド間の線と 2 つのテーブル
このリレーションシップでは、テキストフィールド A と数字フィールド A がテーブル B に対する照合フィールドです。テーブル A のあるレコードにおいて、テキストフィールド A の値が「青」、数字フィールド A の値が「123」の場合、このレコードは、テーブル B の、テキストフィールド B と数字フィールド B の値がそれぞれ「青」と「123」であるレコードにのみ一致します。テキストフィールド A とテキストフィールド B の値が一致しても、数字フィールド A と数字フィールド B の値が一致しなければ、このリレーションシップで関連レコードは返されません。
複数条件リレーションシップの使用
複数条件リレーションシップは、顧客 ID と日付など、複数の共通する値に基づいて 2 つのテーブルを関連させる場合に使用します。たとえば、データベースに次の 3 つのテーブルがあります。
「機材」テーブル。機材のレンタル在庫が保存されている静的なデータベース。
「顧客」テーブル。顧客の名前と住所を保存します。
「ケータリングライン項目」テーブル。機材のケータリングに関するレコード (機材 ID、顧客 ID、およびイベント日を含む) を保存します。
このデータベースの目的は、機材のケータリングを管理して、特定の日における特定の顧客のケータリングをすべて表示することです。
このデータベースでは 3 つのテーブルを使用しますが、複数条件リレーションシップが設定されているのは、「顧客」テーブルと「ケータリングライン項目」テーブルの間です。これらのテーブルには、次のようなフィールドがあります。
 
テーブル
フィールド名
コメント
顧客
顧客 ID
シリアル番号の自動入力が設定された数字フィールド。「ケータリングライン項目」テーブルに対する照合フィールドの 1 つです。
 
イベント日
日付フィールド。「貸出項目」テーブルに対するもう 1 つの照合フィールドです。
ケータリングライン項目
顧客 ID
数字フィールド。「顧客」テーブルに対する照合フィールドの 1 つです。
 
イベント日
日付フィールド。「顧客」テーブルに対するもう 1 つの照合フィールドです。
 
機材 ID
数字フィールド
これらのテーブルは次のように関連しています。
「顧客」テーブルと「ケータリングライン項目」テーブルの間の複数条件リレーションシップ
「顧客 ID」と「イベント日」は、「顧客」テーブルと「ケータリングライン項目」テーブルのリレーションシップの照合フィールドです。「顧客」テーブルでは、「顧客 ID」フィールドにシリアル番号の自動入力が設定されており、「顧客」テーブルの各レコードには固有な ID 番号が付けられます。「イベント日」フィールドは日付フィールドで、追加のオプションは設定されていません。ユーザは、機材のケータリング時に現在の日付を入力したり、過去の日付を入力して、顧客がその日に借りた機材を表示します。
「ケータリングライン項目」テーブルでは、「顧客 ID」フィールドと「イベント日」フィールドはそれぞれ数字および日付フィールドで、「顧客」テーブルとのリレーションシップの照合フィールドになっています。「機材 ID」は数字フィールドで、貸出されている機材の ID が保存されています。このテーブルのレコードは、「顧客」テーブルのポータルに表示されます。
[リレーションシップ編集] ダイアログボックスで、「ケータリングライン項目」テーブルに対して、[このリレーションシップを使用してこのテーブルでのレコードの作成を許可] オプションを有効にします。つまり、ユーザは空白のポータル行に貸出情報を入力することができ、入力するとその貸出に対して自動的に関連レコードが作成されます。
[このリレーションシップを使用してこのテーブルでのレコードの作成を許可] オプションが選択されたことを示す [リレーションシップ編集] ダイアログボックスの選択
最後に、「顧客」レイアウトで「ケータリングライン項目」テーブルにポータルが追加されます。
新しい関連レコードを作成するには、「顧客:: イベント日」フィールドに現在の日付、「顧客」レイアウトのポータルに機材 ID 番号を入力します。「イベント日」フィールドは照合フィールドになっており、このリレーションシップでは「ケータリングライン項目」テーブルへの関連レコードの作成が許可されているので、「顧客:: イベント日」の値が「ケータリングライン項目:: イベント日」フィールドに自動的に入力されます。
過去の日付のケータリングを表示する場合は、「顧客:: イベント日」の値を変更すると、同じ顧客 ID とイベント日が入力されている関連レコードがすべて表示されます。
関連項目 
リレーションシップについて
リレーションシップグラフについて
リレーションシップの照合フィールドについて
単一条件リレーションシップについて
比較演算子を使用したリレーションシップについて
レコードの範囲を返すリレーションシップについて
自己連結リレーションシップについて
リレーションシップの作成と変更
関連レコードを表示するためのポータルの作成