関連テーブルの操作 > リレーションシップの条件について > 複数条件リレーションシップ
 
複数条件リレーションシップ
複数条件リレーションシップでは、照合フィールドの数を増やします。これにより、FileMaker Pro が関連レコードを正しく連結する前に評価する条件を増やします。リレーションシップの各テーブルの各照合フィールドの値は、フィールドが表示されている順に比較されます。これは AND 比較演算で、正しく一致するには、すべての照合フィールドに対して、他方のテーブルの同じレコードに対応する値が存在する必要があります。
複数条件リレーションシップを示す線で 4 つのフィールドがつながれた 2 つのテーブル
このリレーションシップを定義する条件は次のとおりです。
 
テーブル
フィールド名
コメント
テーブル A
テキストフィールド A
テキストフィールド B と数字フィールド B に対する照合フィールド
 
数字フィールド A
テキストフィールド B と数字フィールド B に対する照合フィールド
テーブル B
テキストフィールド B
テキストフィールド A と数字フィールド A に対する照合フィールド
 
数字フィールド B
テキストフィールド A と数字フィールド A に対する照合フィールド
このリレーションシップの条件に従うと、テーブル A のあるレコードにおいて、テキストフィールド A の値が「青」、数字フィールド A の値が「123」の場合、このレコードは、テーブル B の、テキストフィールド B と数字フィールド B の値がそれぞれ「青」と「123」であるレコードにのみ一致します。テキストフィールド A とテキストフィールド B の値が一致しても、数字フィールド A と数字フィールド B の値が一致しなければ、このリレーションシップで関連レコードは返されません。
 
テーブル
レコード番号
フィールド名
関連レコードか?
テーブル A
1
テキストフィールド A
数字フィールド A

123
はい
 
2
テキストフィールド A
数字フィールド A

456
いいえ
 
3
テキストフィールド A
数字フィールド A

123
いいえ
テーブル B
1
テキストフィールド B
数字フィールド B

123
はい
 
2
テキストフィールド B
数字フィールド B

123
いいえ
 
3
テキストフィールド B
数字フィールド B

123
はい
複数条件リレーションシップの作成
この例では、次の 3 つのテーブルを持つデータベースを使用して複数条件リレーションシップを作成します。
「機材」テーブル。レンタル機材の在庫を保存します。
「顧客」テーブル。顧客の名前と住所を保存します。
「ケータリングライン項目」テーブル。機材のレンタルに関するレコード (機材 ID、顧客 ID、およびイベント日を含む) を保存します。
このデータベースは機材のレンタルを管理して、特定の日における特定の顧客のレンタルをすべて表示します。
1. 「顧客」テーブルと「ケータリングライン項目」テーブルの間に複数条件リレーションシップが成立しています。次のフィールドを持つ次のテーブルを作成します。
 
テーブル
フィールド名
コメント
顧客
顧客 ID
シリアル番号の自動入力が設定された数字フィールド。「ケータリングライン項目」テーブルに対する照合フィールドの 1 つです。
 
イベント日
日付フィールド。「 ケータリングライン項目」テーブルに対するもう 1 つの照合フィールドです。
ケータリングライン項目
顧客 ID
数字フィールド。「顧客」テーブルに対する照合フィールドの 1 つです。
 
イベント日
日付フィールド。「顧客」テーブルに対するもう 1 つの照合フィールドです。
 
機材 ID
数字フィールド
2. [リレーションシップ編集] ダイアログボックスで、「顧客」テーブルと「ケータリングライン項目」テーブル間のリレーションシップの照合フィールドとして「顧客 ID」と「イベント日」を定義します。
3. 「顧客」テーブルで、「顧客 ID」フィールドにシリアル番号の自動入力を設定すると、「顧客」テーブルの各レコードには固有な ID 番号が付けられます。
4. 「ケータリングライン項目」テーブルで、[このリレーションシップを使用してこのテーブルでのレコードの作成を許可] を選択します。
テーブルはリレーションシップグラフで次のように表されます。
「顧客」テーブルと「ケータリングライン項目」テーブルの間の複数条件リレーションシップ
5. 「顧客」レイアウトポータルを追加して、「顧客::機材 ID」フィールドをポータルに追加します。
新しい関連レコードを作成するには、「顧客:: イベント日」フィールドに現在の日付を入力して、「顧客」レイアウトのポータルに機材 ID 番号を入力します。
「イベント日」フィールドは照合フィールドになっており、このリレーションシップでは「ケータリングライン項目」テーブルへの関連レコードの作成が許可されているので、「顧客::イベント日」の値が「ケータリングライン項目::イベント日」フィールドに自動的に入力されます。
過去の日付のケータリングを表示する場合は、「顧客::イベント日」の値を変更すると、同じ顧客 ID とイベント日が入力されている関連レコードがすべて表示されます。
関連項目 
リレーションシップグラフの操作
リレーションシップの作成と変更
関連レコードを表示するためのポータルの作成