【Access】VBAテーブルのデータを全部削除する方法

 

アクセス担当のまみです。

 

月初や新年度になった時などで、テーブルのデータを削除したいなって時がありませんか?

そんな時にボタン1つでデータの削除ができたらとっても便利ですね。

あっデータを削除すると元に戻せないのでバックアップを取ることをお忘れなく!

 

今回はVBAのコードを使ってテーブルのデータを削除する方法をお伝えしますね。

 

テーブルのデータを削除する事前準備

 

(あいちゃん)
テーブルのデータを全部削除する方法は2種類あるよ。

 

(はてな君)
2種類?

 

(あいちゃん)
テーブルの構造を残したままデータを削除する方法とテーブルごと全部削除する方法

 

(はてな君)
あ~なるほど。

 

(あいちゃん)
じゃあ実際にやってみようか!

 

使用するテーブル

「T_納品管理表」

 

ここでは「T_納品管理表」を使用しますが、同じテーブルじゃなくても大丈夫なので、お手元にデータがあれば準備してください。

 

データの削除後にも、同じデータを使用するので、バックアップを取っておいてくださいね。

 

Accessテーブルのバックアップをする方法

2018年11月18日

 

フォームを準備する

 

リボンの①「作成」タブの②「フォームデザイン」からフォームを作成し、ボタンを2つ配置しましょう。

 

名前 標題
btnデータ削除 データ削除
btnテーブル削除 テーブル削除

 

 

 

テーブルのデータを削除する

 

(あいちゃん)
フォームの準備ができたらさっそくデータの削除をやってみよう!

 

①「btnデータ削除」を選択した状態で、プロパティーシートの②「イベント」タブのクリック時で③「イベントプロシージャ」を選択してコードの画面を開きます。

 

「Private Sub btnデータ削除_Click()」と「End Sub」の間に下記のコードを追加しましょう。

 

 

テーブルのデータを削除するにはSQL文を使います。

 

DoCmd.RunSQL “DELETE * from テーブル名”

 

お手元のテーブル名にあわせてくださいね。

 

 

(あいちゃん)
フォームビューで動作確認してみてね!

 

 

(はてな君)
フィールド名だけ残ってデータが全部削除された!

 

コードをコピーされたい場合は下記の記事を参考にしてください。

 

関連記事
 
 
 
 
 

テーブルごと削除する

 

(あいちゃん)
じゃあ次はテーブルごと削除してみよう!
その前に削除したデータをバックアップから戻しておいてね!

 

①「btnテーブル削除」を選択した状態で、プロパティーシートの②「イベント」タブのクリック時で③「イベントプロシージャ」を選択してコードの画面を開きます。

 

「Private Sub btnテーブル削除_Click()」と「End Sub」の間に下記のコードを追加しましょう。

 

 

テーブルごと削除するにはDeleteObjectを使います。

 

Call DoCmd.DeleteObject(acTable, “テーブル名”)

 

お手元のテーブル名に合わせてくださいね。

 

 

(はてな君)
テーブルがなくなっちゃったよ!

 

(あいちゃん)
じゃあもう一度テーブル削除ボタンを押してみて!

 

(はてな君)

 

 

(はてな君)
そっか。テーブルがないからエラーになるんだ。

 

(あいちゃん)
そういうこと!なので、テーブルがないよってメッセージが出るようにしておきましょう!

 

追加するコードは下記のとおりです。

 

赤枠の部分が追加したコードです。

 

 

(はてな君)
メッセージが出るようになったよ!

 

ちなみに、データ削除ボタンもテーブルがないとエラーにりますが、テーブルの構造を変えないでデータを削除するのが前提だからそのままで問題ないです。

気になるようなら、同じようにメッセージが出るようにすると良いですよ。

 

データをインポートする前に削除するとか、エクスポートしたらデータを削除しておくとか、そういう使い方もできますね。

 

 

インポートの場合は一番先頭に、エクスポートの場合は最後に削除するコードを入れます。

 

関連記事
 

 

まとめ

 

削除ボタン1つでデータの削除が簡単にできたらとっても便利ですね。

 

 

くれぐれも必要なデータのバックアップは取っておいてくださいね。

バックアップがないと削除ししまったデータは戻せませんので!