【ACCESS】2つのテーブルで一致しないデータを抽出する方法

訪問して頂きありがとうございます。まさふくろーです。

この記事では、2つのテーブルで一致しないデータを抽出する方法をご紹介します。

2つのテーブルで一致しないデータを抽出する

「受注」「受注明細」テーブルから「受注明細」テーブルにない受注データを抽出する。(受注コード:1001、1004は、「受注明細」テーブルに存在しない。)

 

クエリウィザードでの抽出手順

①「作成」タブをクリック⇒②<クエリ>グループの「クエリウィザード」をクリックします。

 

①リストから「不一致クエリウィザード」を選択⇒②「OK」ボタンをクリックします。

 

①リストから「受注」を選択⇒②「次へ」ボタンをクリックします。

 

①リストから「受注明細」を選択⇒②「次へ」ボタンをクリックします。

 

①②「受注」テーブルと「受注明細」テーブルで関連付けるフィールド「受注コード」を選択⇒③「⇔」ボタンをクリック⇒④「次へ」ボタンをクリックします。

 

クエリの結果に表示するフィールドを選択します。

 

「>」ボタンをクリックすると、1つずつフィールドを選択、「>>」ボタンをクリックすると、すべてのフィールドをまとめて選択できます。

 

「次へ」ボタンをクリックします。

 

①「クエリ名」を入力⇒②「クエリを実行して結果を表示する」を選択⇒③「完了」ボタンをクリックします。

 

クエリデザインでの抽出手順

テーブルの追加

①「作成」タブをクリック⇒②<クエリ>グループの「クエリデザイン」をクリックします。

 

①「テーブル」タブをクリック⇒②「受注」「受注明細」を選択⇒③「追加」ボタンをクリック⇒④「閉じる」ボタンをクリックします。

 

複数のテーブルを選択するには

「受注」「受注明細」など複数のテーブルを選択するには、「Ctrl」キーを押しながら、左クリックします。

「受注」「受注明細」テーブルの関連付け

「受注」テーブルの「受注コード」を選択します。

 

左クリックした状態で、マウスポインターを「受注明細」テーブルの「受注コード」に近づけ、ドロップします。

 

 

すると、「受注」テーブルと「受注明細」テーブルの間に、「」マークが表示されます。

 

 

解説 「受注」テーブルと「受注明細」テーブルが「受注コード」で関連付けられたことを意味します。
両方のテーブルに存在するデータのみが抽出されます。

」マークをダブルクリックします。

 

①「2:受注の全レコードと受注明細の同じ結合フィールドのレコードだけを含める。」を選択⇒②「OK」ボタンをクリックします。

 

 

解説 「受注」テーブルと「受注明細」テーブルが「受注コード」で関連付けられたことを意味します。
「受注」テーブルの全件を抽出します。(「受注明細」テーブルに存在しないデータも抽出します。)

クエリ結果に表示するフィールドを選択

「*」を選択⇒左クリックした状態で、「デザイングリッド」上にポインターを移動し、ドロップします。

 

 

すると、「デザイングリッド」上に、「受注.*」と表示されます。

 

 

解説 「*」マークは、すべてという意味で「受注.*」とは、受注テーブルの全フィールドの意味になります。

抽出条件を付けるフィールドを選択

「受注明細」テーブルの「受注コード」を選択⇒左クリックした状態で、「デザイングリッド」上にポインターを移動、ドロップし、「受注コード」を追加します。

 

抽出条件を追加

「受注コード」フィールドの「抽出条件」行に「Is Null」と入力します。

 

 

解説

抽出条件に「Is Null」と指定すると、受注明細テーブルの受注コードがNullのデータを抽出するという意味になります。

 

選択クエリの実行

①「デザイン」タブをクリック⇒②<結果>グループの「実行」をクリックします。

 

最後まで読んでいただき、ありがとうございました!

本のまとめ関連記事はこちら