Accessのテーブルやクエリで重複した値のレコードを見つけるには、[重複クエリウィザード]でクエリを作成しておくと便利です。
ウィザードを使用して作成できるので、とても簡単です。
参考ここでは[ドキュメントウィンドウオプション]で[タブ付きドキュメント](既定)を選択しています。[ウィンドウを重ねて表示する]と[タブ付きドキュメント]の違いについては、以下の記事で解説しています。
-
[タブ付きドキュメント]と[ウィンドウを重ねて表示する]の違い
Access2007以降、オブジェクトを表示すると、タブ付きウィンドウで表示されるようになっています。 昔からAccessを使用している方に ...
テーブルの確認
サンプルとして、以下のようなテーブルがあります。
[番号]フィールドは[数値型]になっていて重複した番号のレコードがあります。
並べ替え
昇順に並べると、重複番号も見つけやすくなります。
フィールドを選択して(フィールド内にカーソルがあればOK)、[ホーム]タブの[並べ替えとフィルター]グループの[昇順]をクリックします。
以下のように[番号]の昇順に並び変わります。レコードが少なければ、目視でも見つけられますが、レコード数が多くなると、重複した番号のレコードを見つけるのは大変ですね。
参考並べ替えは、テーブルのフィルターボタンをクリックして、[昇順で並べ替え]をクリックしても同じです。
クエリウィザードの起動
テーブルは閉じておきます。
[作成]タブの[クエリ]グループにある[クエリウィザード]をクリックします。
クエリウィザード
クエリウィザードを起動します。このウィザードは、選択クエリ、クロス集計クエリ、重複クエリ、および不一致クエリを作成するのに役立ちます。
以下の[新しいクエリ]ウィンドウで[重複クエリウィザード]を選択して[OK]ボタンをクリックします。
ヒントには以下のように記されています。
このウィザードで、1つのテーブルまたはクエリ内の重複したフィールドの値を抽出するクエリを作成します。
重複クエリウィザードでレコードを抽出
[重複クエリウィザード]で重複をチェックするテーブルやクエリを指定します。
ここでは、[管理テーブル]を選択します。[次へ]のボタンをクリックします。
重複データを調べるフィールドを選択します。ここでは、[番号]フィールドを選択します。
[選択可能なフィールド]から重複を調べるフィールドを選択して、中央の[>]ボタンをクリックします。右側の[選択したフィールド]に移動します。
[次へ]のボタンをクリックします。
クエリの結果に表示するその他のフィールドを選択します。
ここでは、すべて表示したいので、[>>]ボタンをクリックして右の[選択したフィールド]へ表示します。[次へ]のボタンをクリックします。
クエリに名前を付けます。[クエリを実行して結果を表示する]を選択して、[完了]ボタンをクリックします。
以下のように[番号]フィールドで重複しているレコードが抽出されます。
デザインビューで開いて抽出条件を確認
作成したクエリをデザインビューで開くと、[番号]フィールドの[抽出条件]は以下のようになっています。
In (SELECT [番号] FROM [管理テーブル] As Tmp GROUP BY [番号] HAVING Count(*)>1 )
参考以下の記事では、不一致クエリウィザードについて解説しています。2つのテーブルの差分を求めることができます。
-
2つのテーブルの差分を求める(不一致クエリウィザード)
Accessで2つのテーブルの不一致レコードを抽出する方法です。 下のように[テーブルA]と[テーブルB]があります。2つのテーブルのうち、 ...
選択クエリウィザードは、以下の記事内で使っています。
-
フォームのテキストボックスの内容をボタンをクリックしてコピー
Accessでフォームのテキストボックスの内容を、コマンドボタンをクリックしてクリップボードにコピーする方法です。他のアプリケーションにテキ ...