<Access>基本からVBAまでまるわかり!独学時に使える参考書

【Access】テーブルをVBAで消去する方法

スポンサーリンク
アクセス【Access】

テーブルごとVBAで消去したいときってありませんか??

 

そんなときあるのか?って思うかもしれませんが、私にはこの機能、けっこう役に立ちました。

 

VBAでテーブル操作できるってところがすごく便利なんです。

 

テーブルごと削除する方法とテーブルのデータのみ削除する方法をご紹介します。

 

テーブルのデータのみ削除するコード

コードはSQLなので一文です(笑)

 

簡単すぎてびっくりしちゃいます。

 

 

たったコレだけです。コレだけでデータが消えてしまうのも恐ろしい気もしますが…。

 

『テーブル1』と書いてあるところには、テーブルの名前が入ります。

 

ボタンクリックと合わせ使うとこんな感じのコードになります。

 

 

これは『テーブルデータ消去』というボタンクリックひとつでテーブルデータのみ、削除されます。

 

続きまして、今度はテーブルごと削除するコードになります。

 

テーブルごと削除するコード

 

今度はテーブルごと削除する方法です。

 

先ほどはテーブルのデータのみ削除する方法をご紹介しましたが、今回はテーブルごと削除します。

 

コードは下のような感じになります。

 

 

具体的に使用コードを書くとこんな感じになります。

 

 

『If DCount(“*”, “MSysObjects”, “[Name]=’商品リスト_インポート エラー'”) > 0 Then』

 

この部分で『商品リスト_インポートエラー』というテーブルが存在するのかしないのか判定しています。

 

存在するなら真を返すので、削除ということで、

 

『Call DoCmd.DeleteObject(acTable, “商品リスト_インポート エラー”)』の部分が返されますので、テーブル『商品リスト_インポートエラー』はテーブルごと削除されることになります。

 

『If~Then』の式がすごく便利で私はしょっちゅう使うし、助けられています。

 

このお話についてはまたご紹介できればいいなと思っています。