クエリを使って重複レコードを削除する

適用先
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

複数のユーザーが同時にデータベースにデータを追加する場合や、データベースが重複をチェックするように設計されていない場合、重複データが忍び寄ることがよくあります。 大量の重複データを削除する場合には、クエリを使用する方が簡単です。 最初の手順は、データベース内の クエリで重複レコードを見つける ことです。

この記事で説明する方法は、 Access Web アプリには適用されません。

データを削除する前に

データの削除を元に戻すことはできないため、重複するレコードを削除する前に、データベースの準備が整っていることを確認してください。

  • ファイルが読み取り専用でないことを確認します。
  • データベースを他のユーザーと共有する場合は、データの競合を避けるために、操作するオブジェクトを閉じるように依頼します。
  • データベースを排他モードで開くアクセス許可がある場合: [ファイル] >[開く ] をクリックし、データベースを選択します。 [ 開く] の横にある矢印をクリックし、[ 排他的開く] をクリックします。
  • 最も重要なのは、 データベースを忘れずにバックアップすることです。 削除されたレコードを復元する唯一の方法は、バックアップから復元することです。 削除操作により、関連テーブルのレコードも削除される場合があります。

バックアップから復元するには、バックアップ コピーが元のバージョンの名前を使用できるように、元のファイルを閉じて名前を変更します。 バックアップ コピーに元のバージョンの名前を割り当て、Access で開きます。

削除クエリを作成して実行する

  1. [ 作成 ] タブ >クエリ デザイン ] をクリックし、レコードを削除するテーブルをダブルクリックします。
  2. アスタリスク (*) をダブルクリックして、すべてのテーブル フィールドをクエリ デザイナーに追加します。
  3. 削除するレコードの識別に使用するフィールドを追加します。 たとえば、ある顧客が廃業し、その顧客の保留中注文をすべて削除する必要があるとします。 これらのレコードだけを検索するには、デザイン グリッドに Customer ID フィールドと Order Date フィールドを追加します。
  4. [ 抽出条件] 行で抽出条件を追加することもできます。 たとえば、廃業した顧客の顧客 ID と、その顧客の注文が無効になる日付を追加できます。
  5. 各条件フィールドの [チェック ボックスを表示] をオフにします。
  6. [デザイン] タブの [実行] をクリックします。 削除するレコードがクエリによって返されることを確認します。
  7. [デザイン ビュー] をクリックし、[デザイン] タブで [削除] をクリックします。 Access によって選択クエリが削除クエリに変更され、デザイン グリッドの下部セクションで [ 表示 行] が非表示になり、[ 削除] 行が追加されます。
  8. 削除クエリを実行する前にもう 1 回確認を行います。[* (すべてのフィールド)] 列の [削除] 行に [開始] および [場所] が表示されることを確認します。
  9. [デザイン] タブで、[実行>はい] をクリックします。

詳細については、「 2 つのテーブルを比較し、一致しないレコードを見つける」を参照してください。

ページの先頭へ