▶ Windows 11情報をお求めの方はこちらをクリック

AccessVBAでテーブルを削除する3つの方法!コピペでOK!

2 min

AccessのVBAを使って、テーブルを削除する方法が知りたいんだけど・・・

つま

つま

SEパパ

SEパパ

「テーブル自体を削除する方法」と「テーブル内のデータだけを削除する方法」があるよ!

今回はAccessVBAで「テーブル内のデータを削除する方法」と「テーブル自体を削除する方法」を紹介します。

テーブル自体を削除する方法を1つ、テーブル内データを削除する方法を2つ紹介します。

この記事でわかること

  • VBAでテーブル自体を削除する方法を1つ
  • VBAでテーブル内のデータのみを削除する方法を2つ

VBAのDeleteObjectでテーブル自体を削除

テーブル自体の削除は、次のたった1行で実現できます。

DoCmd.DeleteObject acTable, "削除テーブル名"

テーブルそのものを削除したい場合はこの1行を実行するだけでOKですが、テーブルの中のデータだけを削除したい場合は、次の方法を使います。

VBAのSQLでテーブル内データのみを削除

テーブル内の全データ削除も、次の1行で実現できます。

DoCmd.RunSQL "DELETE * FROM 削除テーブル名"

これも1行で実現できますのでとても簡単ですね。

でもSQL文が苦手!という方は次の方法を使います。

VBAで削除クエリ(テーブル内データ削除)を実行

テーブル内の全データ削除は、削除クエリでも実現できます。予め削除クエリを作成しておいて、そのクエリをVBAで実行します。

このとき、SetWarningsをFalseに設定しておくことで、データ削除確認メッセージを非表示にすることができます。

DoCmd.SetWarnings False
DoCmd.OpenQuery "テーブルデータ削除クエリ名", acNormal, acEdit

クエリであればSQL分に慣れていない方でも簡単に実行できるため、特にAccess初心者にオススメの方法です。

クエリの削除条件を変更するだけで、削除したいレコードだけを削除することも容易にできますね。

その他よく使うVBAテーブル操作

VBAでテーブルデータを削除する方法まとめ

今回はAccessVBAで「テーブル内のデータを削除する方法」と「テーブル自体を削除する方法」をご紹介しました!

SQL文が苦手な方や抵抗がある方は、まずテーブル内のデータを削除する削除クエリを作成した上で、VBAで削除クエリを実行してくださいね。

ボタンクリックイベントプロシージャ内で削除クエリを実行するなど、テーブルデータを削除したいタイミングで発生させるイベントプロシージャ内で実行しましょう。

Access使い方・便利技・トラブル対処まとめはこちら↓

SEパパ

SEパパ

外資系IT企業SE職で2児の父ちゃん!職業柄かリサーチ&問題解決が好き。

幅広いジャンルで「お悩み解決」記事を執筆中。月間最高24万PV。雑誌掲載。

読者様に役立つ情報提供を心がけています。

カテゴリー:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA