パソコン情報

【Access】VBAでテーブル削除するのは注意が必要

rakuten_design="slide"; rakuten_affiliateId="0f23ea38.2569a462.0f23ea39.89564f16"; rakuten_items="ctsmatch"; rakuten_genreId="0"; rakuten_size="600x200"; rakuten_target="_blank"; rakuten_theme="gray"; rakuten_border="on"; rakuten_auto_mode="on"; rakuten_genre_title="off"; rakuten_recommend="on"; rakuten_ts="1786427094851";



状況を説明すると、テーブルをフォームのソースレコードに設定してあります。

VBAで丸ごと、テーブルを削除したいと思い、実行するとエラーがでました。

ココに注意

フォームが開いたままでは、テーブルを削除することはできませんので当然の結果

 

ならば、テーブル削除する前に、VBAでフォームを閉じてからテーブル削除をすれば問題ないのでは?


結果は、エラーになります。

 

タイミング的な物で、フォームが閉じ切れてない可能性があるうちに、テーブル削除を実行しているのか?どうかはわかりませんが、下記のような


ココがダメ

VBAの組み方がダメ



だって事が分かりました。





 

VBAの中で、テーブル削除する前に、フォームを閉じて、同じVBA内でテーブル削除してもエラーになります。

 

私の考えとしては、

注意ポイント

一時的な作業テーブルなので、データを削除してリセットするよりも、新規でテーブル作成してしまった方が、自動採番もリセットされるからいいんじゃないかと思ってやった行為ですが、リセットでエラーが出るとは予想外の事でした。




この教訓を生かして、

ココがポイント

作業用テーブルであっても、レコードを削除してリセットする方法で開発


して行こうと思います。