単一条件リレーションシップ
単一条件
リレーションシップでは、ある
フィールドのデータが別のフィールドのデータと照合されます。
たとえば、テキストフィールド A とテキストフィールド B の値が同じである場合、一方の
テーブルの特定の
レコードが、もう一方のテーブルの任意のレコードに関連します。
単一条件リレーションシップの使用
単一条件リレーションシップは、シリアル番号や ID 番号などの共通する 1 つの値に基づいて 2 つのテーブルを関連させる場合に使用します。次に例を示します。
1. 次の 2 つのテーブルを持つデータベースを作成します。
•名前と住所を保存する「顧客」テーブル
•電話番号、電話番号の種類 (勤務先、自宅、携帯等) および電子メールアドレスを保存する「連絡先」テーブル
単一の顧客には複数の電話番号と電子メールを設定できるため、2 つのテーブル間でデータが分割されます。
2. 次のフィールドを定義します。
テーブル | フィールド名 | コメント |
顧客 | 顧客 ID | 数字フィールド |
| 名 | テキストフィールド |
| 姓 | テキストフィールド |
| 住所 1 | テキストフィールド |
| 市区町村 | テキストフィールド |
| 都道府県名 | テキストフィールド |
| 国 | テキストフィールド |
連絡先 | 電話番号 | テキストフィールド |
| 電話種類 | テキストフィールド |
| メールアドレス | テキストフィールド |
| 電子メールの種類 | テキストフィールド |
| 顧客 ID | 数字フィールド |
3. [フィールドオプション] ダイアログボックスを使用して「顧客::顧客 ID」フィールドを設定し、
シリアル番号を自動入力してフィールドが固有の値を持つことを検証します。
フィールドのオプションの設定を参照してください。
これらの設定により、「顧客」テーブルの各レコードの ID 番号は必ず固有の値になります。
「連絡先」テーブルの顧客 ID は単純な数字フィールドであるため、自動入力オプションは何も設定しませんが、空でないことが検証されるように設定します。
5. [リレーションシップ編集] ダイアログボックスで次の操作を実行します。
•「連絡先」テーブルの [
このリレーションシップを使用して、このテーブルでのレコードの作成を許可] を選択します。空白の
ポータル行に電話番号を入力すると、その電話番号に対して自動的に
関連レコードが作成されます。
このリレーションシップは、「連絡先」テーブルに関連レコードを作成することができるように定義されているため、新しい関連レコードを作成すると「顧客」テーブルのレコードの「顧客 ID」の数字が自動的に「連絡先」テーブルの「顧客 ID」フィールドに挿入されます。これにより、「連絡先」テーブルの複数のレコードを「顧客」テーブルの単一のレコードに関連させることができます。
•「連絡先」テーブルの [他のテーブルでレコードが削除された時、このテーブルの関連レコードを削除] を選択します。一致する「連絡先」レコードが削除されている場合、古い電話番号を残しておく必要はありません。
6. 「顧客」
レイアウト上の「連絡先」テーブルにポータルを追加して、関連フィールドである「電話番号」と「電子メールアドレス」をポータルに追加します。
「顧客」テーブルの空のポータル行に電話番号または電子メールアドレスを入力すると、「連絡先」テーブルに電話番号または電子メールアドレスの関連レコードが作成されます。
関連項目