4/24/2019

Access。テーブルのデータを一括で簡単に削除したいけど、どうしたらいい?【Bulk delete】

Access。テーブルのデータを一括で簡単に削除したいけど、どうしたらいい?

<Access>

仕入データのテーブルなど、例えば、1年前のデータは削除したい場合は、条件に合致するように、抽出条件を設定した削除クエリを作成することで、削除することができますが、条件は関係なく、テーブルのデータを全部削除したい時には、どのようにしたらいいのでしょうか?

データが少なければ、自分で選択して削除という方法もありますが、データ量が膨大の場合は、少々面倒な作業です。

次のテーブルがあります。

このデータをすべて削除する削除クエリを作ってきます。

作成タブのクエリデザインをクリックして、該当するテーブル「T仕入萎靡一覧削除」を選択します。

すべてのフィールドを設定したいのですが、フィールド数が多いと、設定するのが面倒です。

そこで、「*」を使うことで、全フィールドを設定したことと同じになります。

とても「*」は便利ですが、「*」フィールドには、抽出条件を設定することができないので注意が必要です。

要するに、抽出条件を付けたい場合は、個別にフィールドを設定する必要があるわけです。

ということで、話を戻しまして、「*」を、デザイングリッドに移動させます。

デザイングリッドの設定は、これだけですね。
条件は、全部削除したいわけですから不要です。

あとは、選択クエリから削除クエリに変更していきます。

それでは、実行しましょう。

該当するテーブル「T仕入萎靡一覧削除」のデータがすべて削除されていることを確認しましょう。

きちんと、テーブルのデータが削除されたことを確認できましたね。
この方法でも、全く問題はないのですが、実はもっと効率的に削除クエリを作成することができるので、そちらも併せて確認しておきましょう。

【デザイングリッドは何も設定しなくて大丈夫】

作成タブのクエリデザインで、該当するテーブル「T仕入萎靡一覧削除」を選択します。

ここで通常ならばデザイングリッドにフィールドを設定していくのですが、全レコードを削除するだけならば、実は、このままで完成しちゃっています。

では、先程と同様に、選択クエリから削除クエリに変換して、実行してみましょう。

すると、なんと、削除を確認するメッセージが表示されました。
引き続き実行すると、削除されていることがわかります。

 このように、テーブルのデータを無条件で削除したい場合には、デザイングリッドに何も設定しなくても大丈夫です。