Office 2019 Access 2019

削除クエリの作成(すべてのレコード/条件を指定したレコード)

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

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

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

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

また、2つのテーブル間で参照整合性を設定している場合は、主テーブルのレコードは削除できませんが、リレーションシップで[レコードの連鎖削除]を設定すると削除できるようになります。

削除クエリの実行

参考ここでは[ドキュメントウィンドウオプション]で[ウィンドウを重ねて表示する]を選択しています。[ウィンドウを重ねて表示する]と[タブ付きドキュメント]の違いについては、以下の記事で解説しています。

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

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

続きを見る

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

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

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

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

または、右クリックしてショートカットメニューの[レコードの削除]をクリックします。

ショートカットメニューの[レコードの削除]

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

すべてのレコードを削除するには、[削除クエリ]を作成して実行すると簡単に削除できます。

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

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

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

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

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

参考バージョンによって異なると思いますが、[作成]タブの[クエリデザイン]をクリックすると、Microsoft 365のAccessとAccess 2021では[テーブルの追加]作業ウィンドウとして表示されます。

クエリデザインの「テーブルの追加」は作業ウィンドウに表示される

デザイングリッドにフィールドを登録

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

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

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

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

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

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

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

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

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

削除クエリの実行

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

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

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

参考データマクロで削除レコードを自動で保存することができます。

削除後のレコードを自動で指定テーブルへ保存するデータマクロ

Accessには、テーブルで行った削除や追加、更新などの実行時に、設定した処理を自動で実行してくれる[データマクロ]というのがあります。 こ ...

続きを見る

名前を付けて保存

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

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

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

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

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

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

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

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

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

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

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

続きを見る

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

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

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

メッセージウィンドウ

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

メッセージウィンドウ

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

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

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

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

続きを見る

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

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

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

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

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

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

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

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

レコードの確認

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

削除クエリの実行

参照整合性と削除クエリ

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

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

[レコードの連作削除]がオフの場合

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

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

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

リレーションシップ

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

削除クエリの設定

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

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

メッセージウィンドウ

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

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

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

参照整合性で[レコードの連鎖削除]をオンに設定

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

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

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

参考リレーションシップと参照整合性については、以下の記事でも解説しています。

リレーションシップの作成と参照整合性の設定

Accessでは、複数のテーブルがあって、そのテーブル間の共通フィールドを関連付けることができます。この関連付けのことを[リレーションシップ ...

続きを見る

リレーションシップの[フィールドの連鎖更新]と[レコードの連鎖削除]

Accessでは、参照整合性を設定することで、データの入力や更新、削除が制限されてデータの整合性を保つことができます。 リレーションシップの ...

続きを見る

データマクロで削除レコードを自動で保存することができます。

削除後のレコードを自動で指定テーブルへ保存するデータマクロ

Accessには、テーブルで行った削除や追加、更新などの実行時に、設定した処理を自動で実行してくれる[データマクロ]というのがあります。 こ ...

続きを見る

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

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

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

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

アクションクエリの種類

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

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

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

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

Accessで、1つのテーブルで重複したレコードを削除してマスターテーブルを作成する方法です。 クエリでグループ化を設定して重複レコードがな ...

続きを見る

追加クエリの作成方法(追加先テーブルのフィールドへ特定の値を表示)

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

続きを見る

レコードの差分をテーブルに追加(追加クエリの作成)

Accessで2つのテーブルの不一致レコードを抽出した後、その差分レコードをテーブルへ追加する方法です。 参考ここでは[ドキュメントウィンド ...

続きを見る

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

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

続きを見る

別のテーブルや別フィールドのデータをコピーする更新クエリ

Accessで、別のテーブルの値をコピーする方法です。 [商品価格A]と[商品価格B]という2つのテーブルがあります。 参考ここでは[ドキュ ...

続きを見る

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

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

続きを見る

検索

ほかの記事も検索してみませんか?

Access / Excel / PowerPoint / Word

関連記事30件

moneytizerPCのみ

Profile

執筆者/はま

-Office 2019 Access 2019

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

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