リンクユニット

Google検索

Office2019 Access2019

削除クエリを使ってすべてのレコードを削除するには

投稿日:2019年9月9日 更新日:

Accessでテーブルのすべてのレコードを削除するには、すべてのレコードを選択して削除する方法もありますが、削除クエリを使って簡単に削除することもできます。

アクションクエリの中の一つです。

削除クエリは、追加クエリと一緒に使用することも多いと思います。

削除クエリの実行

すべてのレコードを選択して削除

テーブルのすべてのレコードを選択するには、テーブルをデータシートビューで表示して、左上端の四角の箇所をクリックします。すべてのレコードが選択できます。

そして、[ホーム]タブの[レコード]グループにある[削除]ボタンをクリックします。

すべてのレコードを選択して削除

参考ここでは、[ウィンドウを重ねて表示]の設定にしています。

[タブ付きドキュメント]と[ウィンドウを重ねて表示する]の違い

Access2007以降、オブジェクトを表示すると、タブ付きウィンドウで表示されるようになっています。従来からAccessを使用している方に ...

続きを見る

すべてのレコードを削除する[削除クエリ]の作成

すべてのレコードを削除するには、[削除クエリ]を使って削除することができます。

一回きりであれば手動でも構いませんが、たびたび行うようであれば削除クエリを作成しておくと便利です。

[作成]タブの[クエリ]グループにある[クエリデザイン]をクリックします。

[作成]タブの[クエリデザイン]

[テーブルの表示]ウィンドウが表示されますので、目的のテーブルを選択して[OK]ボタンをクリックします。

[テーブルの表示]ウィンドウ

フィールドリストの[全フィールド](*)ボタンをダブルクリックします。以下のようになります。

デザイングリッドの[フィールド]にテーブル名と[*]が表示されますが、これは、すべてのフィールドという意味です。

デザイングリッドに全フィールドを設定

このまま[デザイン]タブの[クエリの種類]にある[削除]ボタンをクリックします。

[デザイン]タブの[削除]ボタン

または、フィールドリストやデザイングリッドの以外の箇所で右クリックして、ショートカットメニューから[クエリの種類]-[削除]をクリックします。

右クリックのショートカットメニューにある[クエリの種類]

以下のように[レコードの削除]という行が追加され、[From]という文字が表示されています。

[削除]ボタンをクリックした後のデザイングリッド

削除クエリの実行

[実行]ボタンをクリックすると、テーブル[T_売上]のすべてのレコードが削除されます。

削除クエリを実行すると、元に戻せませんので気をつけてくださいね。

[デザイン]タブの[実行]ボタン

名前を付けて保存

削除クエリに名前を付けて保存します。

キーボードから[F12]キーを押すと、[名前を付けて保存]ダイアログボックスが表示されますので、任意の名前を付けます。

参考クエリを[閉じる]ボタンで閉じると[クエリの変更を保存しますか?]のメッセージが表示されるので[はい]をクリックしても、[名前を付けて保存]ウィンドウが表示されます。

[名前を付けて保存]ダイアログボックス

保存した削除クエリは、ナビゲーションウィンドウに以下のようなアイコンで表示されます。

ナビゲーションのオブジェクトの表示形式は、[アイコン]にしています。

この削除クエリのアイコンをダブルクリックすることで実行されます。

ナビゲーションウィンドウの[削除クエリ]のアイコン

参考作成したクエリをコマンドボタンをクリックして実行するための設定は、以下の記事で解説しています。

作成したクエリをコマンドボタンに登録して実行する

Accessでクエリを作成した後、コマンドボタンをクリックしてクエリを実行するための方法です。 コマンドボタンウィザードを使用する方法と、マ ...

続きを見る

削除クエリ実行時のメッセージウィンドウ

アイコンをダブルクリックして実行するときは、必ずメッセージウィンドウが2回表示されます。

削除クエリを実行すると、テーブルのデータが変更されます。

メッセージウィンドウ

○件のレコードが指定したテーブルから削除されます。

メッセージウィンドウ

上記のメッセージウィンドウはアクションクエリでは必ず表示されます。

表示させたくなければ、以下の記事を参考に設定してください。

アクションクエリ実行時の確認メッセージを非表示にする

以下のメッセージウィンドウは、追加クエリを実行したときに表示されるメッセージです。このメッセージを非表示にする方法です。 場合によっては、確 ...

続きを見る

条件に合うレコードのみを削除するには

すべてのレコードではなく抽出条件に合うレコードのみを削除することもできます。

抽出したいフィールドをデザイングリッドに追加して、抽出条件に条件を追記します。

ここでは、売上年月日が[2010/07/03]より前のレコードを抽出して削除します。

抽出したいフィールドをデザイングリッドに追加して、抽出条件に条件を追記

削除クエリを実行する前に、[データシートビュー]に切り替えてクエリの結果を確認することもできます。

[データシートビュー]に切り替え

データシートビューに切り替えると、削除するレコードを確認することができます。ここでは、10件のレコードが抽出されています。

レコードの確認

デザインビューに切り替えて、[実行]ボタンをクリックして削除クエリを実行すると、[2010/07/03]より前のレコードのみが削除されます。

削除クエリの実行

参照整合性と削除クエリ

2つのテーブル間で参照整合性を設定している場合は、主テーブルのレコードは削除できません。削除クエリを作成しても実行できません。

リレーションシップで連鎖削除を設定することで削除できるようになります。

[データベースツール]タブの[リレーションシップ]グループの[リレーションシップ]をクリックします。

[データベースツール]タブの[リレーションシップ]

例えば、以下のようにテーブル[T_商品名]の[ID]とテーブル[T_売上]の[商品名]の間で参照整合性の設定がされています。

リレーションシップ

上記のままテーブル[T_商品名]の[商品名]フィールドを追加して、抽出条件に[モンブラン]を指定します。

削除クエリの設定

メッセージウィンドウが表示されますので、[はい]をクリックします。

1件のレコードが指定したテーブルから削除されます。

メッセージウィンドウ

次のメッセージは[削除クエリでレコードを削除できません。]と表示されています。[はい]をクリックしてもレコードは削除できません。

1件のレコードでキー違反、0件のレコードでロック違反が発生したため、削除クエリでレコードを削除できません。

メッセージウィンドウ[削除クエリでレコードを削除できません。]

参照整合性でレコードの連鎖削除

リレーションシップで[レコードの連鎖削除]のチェックボックスをオンにすることで削除できるようになります。

ここのチェックボックスをオンにすると、2つのテーブルからレコードを削除できます。

リレーションシップの[レコードの連鎖削除]

アクションクエリについて

アクションクエリとは、テーブルの中のデータを変更、削除、追加、新規作成するクエリのことです。テーブルに対して一括で処理を行うことができます。アクションクエリには、[テーブルの作成クエリ][追加クエリ][更新クエリ][削除クエリ]の4つの種類があります。

[クエリツール]-[デザイン]タブの[クエリの種類]ある4つのボタンを使って作成します。

  • テーブルの作成
  • 追加
  • 更新
  • 削除

アクションクエリの種類

作成後にナビゲーションウィンドウに表示されるアイコンは以下のようなものです。通常のクエリのアイコンとは異なることが分かると思います。

アイコン アクションクエリの種類 内容(ポップヒントより)
アクションクエリ[テーブルの作成] テーブルの作成 クエリを使用してデータベースのレコードを選択し、新しいテーブルとして保存します。
アクションクエリ[追加クエリ] 追加クエリ クエリを使用してレコードを既存のテーブルに追加します。
アクションクエリ[更新クエリ] 更新クエリ クエリを使用して既存のテーブルのデータを更新します。
アクションクエリ[削除クエリ] 削除クエリ クエリを使用して、データが条件と一致する場合に既存のテーブルから情報を削除します。

以下は主なアクションクエリを使った記事です。

グループ化で重複レコードを削除したテーブルを作成

Access2013で、1つのテーブルで重複したレコードを削除してマスターテーブルを作成する方法です。 テーブルの確認 以下のようなテーブル ...

続きを見る

追加クエリの作成と追加先テーブルの変更

1つのテーブルに別のテーブルのレコードを追加する方法です。 3個テーブルがあって、各テーブルのフィールド名は同じです。 ここでは例として、テ ...

続きを見る

差分を追加(追加クエリ)

Accessで2つのテーブルの不一致レコードを抽出した後、その差分レコードをテーブルへ追加する方法です。 不一致クエリウィザードで差分レコー ...

続きを見る

追加クエリを使ったオートナンバー型フィールドの番号の振り直し

オートナンバー型のあるテーブルでレコードを削除すると、欠番が出てしまいます。 Accessにとっては問題はなくても、見た目としては1から綺麗 ...

続きを見る

別フィールドのデータをコピーする(更新クエリ)

Accessで、別のテーブルの値をコピーする方法です。 [商品価格A]と[商品価格B]という2つのテーブルがあります。 更新クエリの作成 [ ...

続きを見る

帳票フォームから単票を開いたらチェックを付ける(リセット方法も)

Accessで帳票フォームから、ボタンをクリックして同じIDの単票を開くように作成することはよくあります。フィールドが多い場合は、修正は横に ...

続きを見る

Profile

執筆者/はま

おすすめ記事と広告

-Office2019 Access2019

Copyright © 2001-2019 初心者のためのOffice講座 All Rights Reserved.

Copyright© 初心者のためのOffice講座 , 2019 AllRights Reserved Powered by AFFINGER4.