ビデオ:
ビデオの内容
"あいまいな外部結合" メッセージは、最初に行われる結合に基づいてクエリによって異なる結果が得ることができると Access が判断したときに表示されます。 クエリを実行するには、いくつかの変更を加える必要があります。 最善の解決策は、通常、クエリを分割して分割することです。 つまり、少なくとも 1 つの結合が小さな "子" クエリで実行されるように設定します。その後、"親" クエリで他のテーブルまたはクエリに結合します。 次に、Access は最初に子クエリ (またはクエリ) で結合を実行し、次に親クエリの結合を最後に実行し、あいまいさを排除します。
クエリに含まれるテーブルの数によっては、あいまいな外部結合を回避するために、いくつかの子クエリを作成する必要がある場合があります。 このビデオでは、2 つの等結合テーブルが子クエリに分離され、3 番目のテーブルへの外部結合が親クエリで実行される、単純な 3 つのテーブルの例を示します。 基本的な手順を次に示します。 これは、単純な選択クエリの作成に既に精通していることを前提としています。
-
最初に結合するテーブルを含む新しい子クエリを作成します (ビデオでは、これらは会社とPeopleテーブルです)。
-
子クエリで、必要な出力フィールドをダブルクリックして、クエリ グリッドを表示します。
重要: 元のクエリの結合フィールドを必ず含めます。 ビデオの例では、会社は RegionID フィールドを使用してリージョンに参加していたため、子クエリのクエリ グリッドに RegionID を含めます。
-
子クエリを保存して閉じ、デザイン ビューで元のクエリを開きます。 これは親クエリになります。
-
子クエリに追加したテーブルを削除し、子クエリを追加します ([テーブル の 追加 ] ( Access 2013の [テーブルの表示 ] ) > [クエリ] を > するか、ナビゲーション ウィンドウから親クエリに子クエリをドラッグします)。
-
親クエリで、以前と同じように結合を確立します。今回は子クエリに対してのみ結合を確立します。
-
子クエリの出力フィールドをクエリ グリッドに追加します。
-
親クエリを保存して実行します。
あいまいな外部結合の経験則
あいまいな外部結合は、クエリに 2 つ以上の結合があり、そのうちの 1 つが等結合を指す外部結合であるか、または互いに向き合う 2 つの外部結合がある場合に発生します(たとえば、これら 2 つの結合構成はあいまいであり、個別のクエリに分割する必要があります)。
Table1 --> Table2 --- Table3
Table1 --> Table2 <-- Table3
同じ方向を指す外部結合、または他の外部結合または等値結合から離れた外部結合は、OK です。
Table1 --> Table2 --> Table3
Table1 <-- Table2 --> Table3
Table1 <-- Table2 --- Table3
クエリの構築の詳細については、「クエリ の概要 」または「 単純な選択クエリを作成する」を参照してください。