今回はAccessVBAで「テーブル内のデータを削除する方法」と「テーブル自体を削除する方法」をご紹介します。
テーブル自体を削除する方法を1つ、テーブル内データを削除する方法を2つご紹介します。
DeleteObjectでテーブル自体を削除
テーブル自体の削除は、次のたった1行で実現できます。
DoCmd.DeleteObject acTable, "削除テーブル名"
テーブルそのものを削除したい場合はこの1行を実行するだけでOKですが、テーブルの中のデータだけを削除したい場合は、次の方法を使います。
SQLでテーブル内データ削除
テーブル内の全データ削除も、次の1行で実現できます。
DoCmd.RunSQL "DELETE * FROM 削除テーブル名"
これも1行で実現できますのでとても簡単ですね。
でもSQL文が苦手!という方は次の方法を使います。
削除クエリでテーブル内データ削除
テーブル内の全データ削除は、削除クエリでも実現できます。予め削除クエリを作成しておいて、そのクエリをVBAで実行します。
このとき、SetWarningsをFalseに設定しておくことで、データ削除確認メッセージを非表示にすることができます。
DoCmd.SetWarnings False DoCmd.OpenQuery "テーブルデータ削除クエリ名", acNormal, acEdit
クエリであればSQL分に慣れていない方でも簡単に実行できるため、特にAccess初心者にオススメの方法です。
クエリの削除条件を変更するだけで、削除したいレコードだけを削除することも容易にできますね。
その他のVBAテーブル操作
まとめ
今回はAccessVBAで「テーブル内のデータを削除する方法」と「テーブル自体を削除する方法」をご紹介しました!
SQL文が苦手な方や抵抗がある方は、まずテーブル内のデータを削除する削除クエリを作成した上で、VBAで削除クエリを実行してくださいね。
ボタンクリックイベントプロシージャ内で削除クエリを実行するなど、テーブルデータを削除したいタイミングで発生させるイベントプロシージャ内で実行しましょう。
Access使い方・便利技・トラブル対処まとめはこちら↓