Accessにおいて、2つのテーブルがあり、片方のテーブルに漏れがあるか確認したいときは、差分クエリを使うと便利です。
差分クエリ
差分クエリは共通のフィールドをもつテーブルを比較して、一方のテーブルにはあるが、もう一方のテーブルにはない要素を確認するためのクエリです。
2つの要素を比較して、違い(差)を見るという点において差分クエリと呼ばれています。
それでは、実際に例を見ながら、差分クエリを使ってみましょう。
2つのテーブルの違いを見つける
図1と図2を見てください。2つのテーブルがあります。テーブル1には6つのレコードがあります。テーブル2には4つのレコードがあります。しかし、テーブル2には、ID3とID5のレコードがありません。

図1:テーブル1

図2:テーブル2
今回はこのID3とID5がないということを差分クエリを使って確認したいと思います。
差分クエリの作り方
はじめに、クエリデザインを開いて、テーブル1とテーブル2を追加してください。
テーブルのIDからIDへドラックアンドドロップで結号線を作成します。結号線ができたらその線を選択し、右クリックから結合プロパティをクリックしてください。
すると、図3のような画面が出てくると思います。

図3:結合プロパティ
「テーブル1の全レコードとテーブル2の同じ結合フィールどだけを含める」を選択し、その他は図3のように設定しOKボタンを押します。
図4のように結号線がテーブル1からテーブル2に向かう矢印になったと思います。レコードの多いテーブルからレコードの少ないテーブルに向って矢印ができていればOKです。

図4:差分クエリ(選択)
図4のようにフィールド、テーブル、抽出条件を設定します。ポイントはテーブル2の抽出条件を「is Null」と設定することです。
これで差分クエリの完成です。それでは実行してみましょう。

図5:差分クエリ実行結果
図5が実行結果です。IDの3と5がないことが確認できました。今回はテーブルの大きさが小さかったので、ぱっと見るだけで2つのテーブルのどこが違うか確認できました。しかし、大量のデータがあるときはそうもいきません。差分クエリはとても便利なクエリであるということがわかっていただけたのではないでしょうか。
2つのテーブルの内容を同じにする
今度は、2つのテーブルが同じになるように追加クエリでテーブルの内容を追加してみましょう。
追加クエリを選択すると、図6のような画面が出ると思います。
今回はテーブル2にID3とID5の内容を追加したいので、追加先のテーブル名のところに「テーブル2と入力し、OKを押します。
そして、図7のように設定します。

図7:差分クエリ(追加)
これで完成です。あとは、実行してみましょう。実行結果は図8になります。テーブル2にはなかったID3と5のレコードが追加されていることがわかります。

図8:実行結果
コメント