6/30/2020

Access。「固有の値」で、重複は簡単に除外できます【Duplication】

Access。「固有の値」で、重複は簡単に除外できます

<クエリプロパティ:固有の値>

データベースで悩ましい問題となってくるものがありまして、その中のひとつに、「重複」という問題があります。

重複したデータを削除することは、なかなか大変だったりします。

Excelには、「重複の削除」というボタンが登場して簡単になりましたが、Accessにも同じように、比較的簡単に重複を除外することができる「固有の値」というのがクエリのプロパティにありますので、確認してみましょう。
 

Excelからインポートした、店舗別で担当しているスタッフのテーブルが3店舗あります。
 
複数店舗を担当しているスタッフもいますので、何名のスタッフが所属しているのかわかるように、スタッフ一覧を作りたいとします。

追加クエリを使って、3店舗のテーブルをまとめたのが、テーブル「T担当スタッフ」です。
 
重複しているスタッフがいますので、それをどうやって除外したらいいのでしょうか?

目視確認で削除していくには大変ですし、当然ミスも発生します。

このぐらいのデータ量ならばアリかもしれませんが、大変そうですね。

クエリで、演算フィールドを追加して、1のデータのみを抽出するというアイディアもわるくなさそうですが、Accessのクエリのプロパティに「固有の値」というのがあります。

これをつかうと、簡単に重複を除外することができます。

作成タブのクエリデザインでクエリをつくっていきます。
重複を除外したいフィールドを設定します。
 
クエリのプロパティを表示させますので、フィールドリストなど何もない、グレーっぽいところをクリックしておきます。
 
それ以外のところをアクティブにしておくと、そのプロパティが表示されてしまうので、グレーっぽいところをクリックしてアクティブにしておきましょう。

ここが、最大のポイントです。

デザインタブの「プロパティシート」をクリックします。
 
プロパティシート作業ウィンドウが表示されます。
 
選択の種類が「クエリプロパティ」になっているか確認しましょう。

プロパティシートの「固有の値」を「はい」に設定します。

これで、重複を除外することができました。

では、実行して、データシートビューで確認してみましょう。
 
重複したデータを除外されたことが確認できました。

このように、Excelの重複の削除のようにボタン一発というわけには、いきませんが、クエリのプロパティ「固有の値」をつかうことで、比較的簡単に、重複を除外することができます。