AccessのVBAを使って、テーブルを削除する方法が知りたいんだけど・・・
つま
SEパパ
「テーブル自体を削除する方法」と「テーブル内のデータだけを削除する方法」があるよ!
今回はAccessVBAで「テーブル内のデータを削除する方法」と「テーブル自体を削除する方法」を紹介します。
テーブル自体を削除する方法を1つ、テーブル内データを削除する方法を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使い方・便利技・トラブル対処まとめはこちら↓