リレーションシップを作成する

重要:  この記事は機械翻訳されています。機械翻訳についての「免責事項」をお読みください。この記事の英語版を参照するには、ここをクリックしてください。

リレーションシップにより、2 つのテーブルのデータを組み合わせることができます。Access デスクトップ データベースでは、[リレーションシップ] ウィンドウでリレーションシップを作成できます。Access Web アプリでのリレーションシップの作成は異なる処理です。この後の Access Web アプリでリレーションシップを作成するを参照してください。

この記事の内容

Access デスクトップ データベースでリレーションシップを作成する

Access Web アプリでリレーションシップを作成する

Access デスクトップ データベースでリレーションシップを作成する

  1. [データベース ツール] タブの [リレーションシップ] グループで [リレーションシップ] をクリックします。

    [データベース ツール] タブの [リレーションシップ]

  2. リレーションシップが 1 つも定義されていない場合は、[テーブルの表示] ダイアログ ボックスが自動的に表示されます。表示されない場合は、[デザイン] タブの [リレーションシップ] で [テーブルの表示] をクリックします。

    [テーブルの表示] ダイアログ ボックスには、データベース内のすべてのテーブルとクエリが表示されます。テーブルだけを表示するには、[テーブル] をクリックします。

  3. 1 つ以上のテーブルを選び、[追加] をクリックします。テーブルを追加し終わったら、[閉じる] をクリックします。

  4. 1 つのテーブルのフィールド (通常は主キー) を、別のテーブルにおける共通のフィールド (外部キー) にドラッグします。複数のフィールドをドラッグするには、Ctrl キーを押しながら各フィールドをクリックし、ドラッグします。

    [リレーションシップ] ダイアログ ボックスが表示されます。

    [リレーションシップ] ダイアログ ボックス

  5. 表示されたフィールド名が、リレーションシップを作成する共通のフィールドであることを確認します。フィールド名が正しくない場合は、問題のフィールド名をクリックし、一覧から適切なフィールド名を選びます。

  6. このリレーションシップに参照整合性を適用するには、[参照整合性] ボックスをクリックします。

  7. [作成] をクリックします。

  8. [リレーションシップ] ウィンドウでの作業が終了したら、[保存] をクリックして、リレーションシップ レイアウトの変更を保存します。

2 つのテーブルの間には、リレーションシップ ラインが描画されます。[参照整合性] チェック ボックスをオンにすると、ラインの両端が太く表示されます。また、同様に [参照整合性] チェック ボックスをオンにした場合に限り、リレーションシップの一方の太い部分の上に "1" が表示され、ラインの反対側の太い部分の上に無限大記号 () が表示されます。

注記: 

  • 一対一リレーションシップを作成するには   共通のフィールドの両方 (通常は主キー フィールドと外部キー フィールド) に一意のインデックスが設定されている必要があります。つまり、これらのフィールドのインデックス プロパティが [はい (重複なし)] に設定されている必要があります。両方のフィールドに一意のインデックスが設定されていれば、一対一リレーションシップが作成されます。

  • 一対多のリレーションシップを作成するには   リレーションシップの "一" 側 (通常は主キー) に一意のインデックスが設定されている必要があります。つまり、このフィールドのインデックス プロパティが [はい (重複なし)] に設定されている必要があります。"多" 側のフィールドには、固有インデックスを設定することはできません。インデックスを付けることはできますが、重複を許可してください。つまり、このフィールドのインデックス プロパティは、[いいえ] または [はい (重複あり)] のどちらかに設定されている必要があります。一方のフィールドに一意のインデックスが設定されていて、もう一方のフィールドに一意のインデックスが設定されていなければ、一対多リレーションシップが作成されます。

Access Web アプリでリレーションシップを作成する

[リレーションシップ] ウィンドウは、Access Web アプリでは使用できません。Access Web アプリでリレーションシップを作成する代わりに、別のテーブルの関連フィールドから値を取得するルックアップ フィールドを作成します。たとえば、"従業員" テーブルがあり、各従業員が働く地域を表示できるように、"地域" テーブルにルックアップを追加するとします。

注: ルックアップで値のソースとして使用するフィールドは、ルックアップ フィールドを作成する前には存在している必要があります。

Access Web アプリでルックアップ フィールドを作成する方法を説明します。

  1. 新しいルックアップ フィールドを作成するテーブルを、ナビゲーションでダブルクリックして開きます (ヒント: [ホーム]、ナビゲーション ウィンドウを順にクリックすると、利用可能な表を表示できます)。

    上の例では、"従業員" テーブルをクリックします。

  2. テーブル内の最終フィールドの直下にある [フィールド名] 列をクリックし、新しいルックアップ フィールドの名前を入力します。

    この例では、フィールド名として「地域」と入力します。

  3. [データ型] 列で、矢印をクリックして [ルックアップ] を選びます。

    ルックアップ フィールドのルックアップ データ型の設定

    ルックアップ ウィザードが起動します。

  4. ルックアップ ウィザードの最初のページで、[ルックアップ フィールドの値を他のテーブルまたはクエリから取得します] を選びます。 ダイアログ ボックスに、その他のオプションが表示されます。

  5. ルックアップの値の取得元になるテーブルまたはクエリの名前を選びます。

    この例では、[テーブル: 地域] を選びます。

    ルックアップ ウィザードで選ぶオプション

    (画像のテーブルの名前は、使用中の例に応じて変わります。)

  6. テーブルを選んだら、[ルックアップに表示する値は何ですか?] ボックスの一覧を使用して、ルックアップ フィールドの表示値として使用するフィールドを選びます。Access では、既定で、選択されたテーブルで見つかった最初のテキスト フィールドが表示されます。

    この例では、選択されたフィールド "タイトル" を表示値としてそのまま使用します。

  7. 必要に応じて、[ルックアップの項目を並べ替えますか?] リストを使用して、並べ替えを設定します。

  8. ["地域" テーブルのレコードを削除したときの動作を指定してください。] で、2 つのテーブル間のリレーションシップのタイプと、参照整合性を適用するかどうかを設定します (該当するテーブルの名前は、手順 5 で選んだテーブルに応じて変わります)。

    ルックアップ ウィザードの既定の動作は、[対応するレコードが "従業員" テーブルにある場合は、削除しません。] に設定されています。これは多くの場合でこのオプションが最も安全だからです。 この例では、地域テーブルの値が従業員テーブルのレコードで使用されている場合は、その値を地域テーブルから削除できません。 そのため、従業員レコードで "西" などの地域が使用されていると、地域テーブルから "西" を削除しようとしても削除できません。 この場合、地域テーブルから "西" を削除するには、"西" を使用しているすべての従業員レコードを他の値に再設定する必要があります。 この例では最後のオプションが有効です。最後のオプションを使用すると、地域テーブルから "西" を削除できます。 "西" に設定された従業員レコードから地域の値が自動的に削除され、値は空白のままになります。 2 番目のオプションを選ぶと、"西" に設定された地域のあるすべての従業員レコードが、従業員テーブルから削除されます。これは連鎖削除と呼ばれ、この例では削除したいデータ以外のデータも削除されます。 このオプションを選ぶ場合は注意が必要です。

リレーションシップの詳細については、「リレーションシップを作成、編集、または削除する」を参照してください。

リレーションシップの編集または削除に関する基本事項については、次の記事を参照してください。

注: 機械翻訳についての免責事項: この記事の翻訳はコンピューター システムによって行われており、人間の手は加えられていません。マイクロソフトでは、英語を話さないユーザーがマイクロソフトの製品、サービス、テクノロジに関するコンテンツを理解するのに役立てるため、こうした機械翻訳を提供しています。記事は機械翻訳されているため、用語、構文、文法などに誤りがある場合があります。

スキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×