Windows8 & Office2013 Access2013

Print Friendly

2つのテーブルの差分を求める

投稿日:

Accessで2つのテーブルの不一致レコードを抽出する方法です。
下のように[テーブルA]と[テーブルB]があります。テーブルのオブジェクトの表示は、タブを使わない表示にしています。
2つのテーブル

オブジェクトのタブを使わない表示は、[Accessのオプション]の[基本のデータベース]にある[ドキュメントウィンドウオプション]で[ウィンドウを重ねて表示する]を選択します。Access2007以降は、タブ付きウィンドウの表示が既定になっています。設定の詳細は、タブを使わない表示を参照してください。
Accessのオプション

[作成]タブにある[クエリウィザード]をクリックします。
クエリウィザード

[不一致クエリウィザード]をクリックします。ウィザードは、初心者向けによく作られています。できれば、ウィザードに記載されているヒントは一読されてください。
「このウィザードで、1つのテーブルからほかのテーブルと一致しないレコード(行)を抽出するクエリを作成します。」
不一致クエリウィザード

ウィザードに記載されているヒントを読むと分かりやすいですね。
「このウィザードは、あるテーブルのレコードのうち、もう1つのテーブルのレコードと対応しないものだけを抽出するクエリを作成します。たとえば、注文がなかった得意先だけを抽出するクエリを作成できます。最初にレコードを抽出するテーブルまたはクエリを選択し、次に比較に使うテーブルまたはクエリを選択します。」
[テーブルA]を選択して、[次へ]ボタンをクリックします。
テーブルの選択

不一致クエリウィザードのヒントを記載します。
「比較に使うテーブルまたはクエリを選択します。
たとえば、前の画面で[得意先]テーブルを選択した場合、注文がなかった得意先だけを取り出すには、[受注]テーブルを選択します。」

[テーブルB]を選択して、[次へ]ボタンをクリックします。
テーブルの選択

「2つのテーブルに共通するデータを含むフィールドを選択します。
たとえば、[得意先]テーブルと[受注]テーブルは、[得意先コード]フィールドによって関連付けられます。関連付けるフィールドは、それぞれ別の名前でもかまいません。
各テーブルから関連付けるフィールドを選択し、[<=>]をクリックしてください。」

ここでは、[日付]を選択して、[<=>]ボタンをクリックして、[次へ]ボタンをクリックします。
フィールドの選択

「クエリの結果に表示するフィールドを選択してください。」
ここでは、すべて表示したいので、[>>]ボタンをクリックします。
フィールドの選択

下のように右側にフィールド名が移動します。[次へ]ボタンをクリックします。
フィールドの確認

クエリに名前を付けます。下の[テーブルAとテーブルBの差分]は既定のままです。[完了]ボタンをクリックします。
クエリに名前を付ける

下のように不一致レコードのみが抽出されます。

2つのテーブルの不一致レコードを抽出して、さらにその差分をテーブルに追加したいということがありますね。これも[追加クエリ]を使って、簡単に操作することができます。
ここで求めたレコードを元に追加クエリで、テーブルBに追加する方法を差分を追加で紹介しています。
追加クエリも参考になると思います。

参考Officeのバージョンによって操作が異なる場合があります。以下の記事で、お使いのOfficeのバージョンを確認する方法を解説しています。

Office(Word、Excel、PowerPointなど)のバージョンを確認する方法

Microsoft Officeも時を得て、大きく様変わりしてきました。トラブルを解決しようとするとき、あるいは、何かの操作を探すときなど、 ...

続きを見る

あなたへのおすすめ

関連記事

空白をグラフに反映させたくない

Excelで下のような表を元に複合グラフを作成しました。 2011年度のデータは、7月までしかありません。E列では、累積を求める式を入れて参 ...

値によってテキストボックスの使用可と不可を切り替える

Accessのフォームで1つ目のコンボボックスで選択した値によって、次のテキストボックスの使用を有効にしたり、無効にしたりする方法です。 た ...

テーブルでスライサー

Excel2013では、テーブルでも[スライサー]が使用できるようになりました。 Excel2010のピボットテーブルでスライサーが登場した ...

フラッシュフィル

Excel2013の新機能です。文字列などの編集を自動で行ってくれる機能です。 これまで、関数を使って文字列を結合したり、抜き出したりしてい ...

mdbではインポートしたフィールドの順番が変わる

Access2013で拡張子[.mdb(Access2002~2003ファイル形式)]で操作する時に発生する問題点です。 下のようなExce ...

-Windows8 & Office2013 Access2013

Copyright © 2001-2017 初心者のためのOffice講座 All Rights Reserved.

Copyright© 初心者のためのOffice講座 , 2017 AllRights Reserved Powered by AFFINGER4.