ACCESS 不一致クエリで差分を求める方法

不一致クエリで差分を求める方法

ACCESSを使っていると、同じようなデータが複数のテーブルに散在してしまう時があります。

特に外部からのインポートを行っていると、前回のインポートと今回のインポートでどのレコードが異なるのか把握したいときがあるでしょう。
もしくは、インポートしたレコードと元からACCESSにあるレコードの差分を見たいときも多いかもしれません。

今回はそんな時に便利な不一致クエリで差分を求める方法をご紹介します。


こんにちは。
はこにわガジェット (@hakoniwagadget) です。

ACCESSを使った売上管理、顧客管理などのデータベース開発を行っています。
ACCESSは使いこなすために少しスキルが必要なものの、うまく活用すればExcelよりも業務の効率化が図れます。
この記事ではACCESSの基本的な使い方をご紹介していきます。

不一致クエリとは

不一致クエリとは、ACCESSで作成できるクエリの一種で、2つのテーブルを比較して片方には存在するが、もう一方にはないレコードのみを抽出するものです。
クエリウィザードから作成することが可能ですので、比較的簡単に作成できます。

以降、実際に不一致クエリの作成方法を見ていきましょう。

サンプルデータ

まずはサンプルデータとして以下の2つのテーブルを用意しました。
1つめは売上情報が格納されたテーブルです。

2つめは上記と同じレイアウトで、レコードがちょっとだけ違うテーブルです。

この2つのテーブルのどのレコードが異なるかを調べていきたいと思います。
今回のサンプルデータはレコード件数が少ないので目視でも作業可能ですが、実際にはACCESSのレコード件数は膨大になるので、こうした作業を目視で行うのには限界があります。

不一致クエリの作成

それでは、不一致クエリを作成しましょう。
ACCESSのメニューから「作成」→「クエリウィザード」を選択します。

クエリウィザード

作成するクエリの種類を確認されます。

不一致クエリウィザードを選択します。

最初にレコードを抽出するテーブルまたはクエリを選択します。
差分の結果を出したい方のテーブルとして、test_売上テーブルを選択します。

次に比較に使用するテーブルまたはクエリを選択します。
今回はtest_売上2との比較を行いますので、こちらを選択します。

2つのテーブルに共通するデータを含むフィールドを選択します。
つまり、このフィールドで一致しているか不一致かを判別します。

今回は売上IDを選択しました。
クエリの結果に表示するフィールドを選択します。

差分が出た際に、どのレコードなのか判別できるフィールドを表示できるようにしましょう。
今回はすべてのフィールドを表示するようにします。

最後にクエリ名を指定して完成です。

クエリの実行結果は以下のようになりました。
差分があるレコードのみが表示されています。

このように、ウィザードに沿って設定していくだけで、簡単に差分を見つけることが可能です。

ACCESS内のデータの差分をチェックすることも多いですが、csvファイルやExcelなどのデータの差分を見る際に、一度ACCESSに取り込んで不一致クエリで差分を出すという使い方も便利です。

使いこなせば業務効率の改善にかなり役立ちますよ。

以上、不一致クエリで差分を求める方法でした。


ACCESSを使いこなせば、業務の効率化や自動化が実現できます。
しかし、自分でACCESSを学ぶには時間がない、難しそうで不安、という方も多いでしょう。

そんな時は、ACCESS開発歴20年以上、過去に100以上のACCESSデータベースを開発してきた私(@hakoniwagadget)にお任せください。

ACCESSの新規開発、既存のACCESSの修正、ACCESSの操作レッスンなど様々なサービスをご提供しています。
ご興味のある方は下記のサービス一覧をご覧ください。

サービス一覧

最後までお読みいただき、ありがとうございました。