- ベストアンサー
Accessのテーブルをすべて削除
テーブルが50個ぐらいあるのですが、それらを一気に削除する方法はないでしょうか? 現在は1つ1つを選択して削除しています。 なにか簡単な方法があれば教えてください。お願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
テーブルはアクセスの基本となるので、それを削除するということはそのデータべース(ファイル)を基本的に再構築するものと考え回答いたします。 少し変則的なやりかたですが、アクセスのデータベースを一からやり直したいけど、一部残したい場合私は一度新しいデータベースを作成し、必要なクエリーやフォーム、レポートなどの必要なものをすべてインポートします。そうすると、必要な物だけが残ったデータベースになります。このときにテーブルのデータだけ削除しテーブル構造は残したいのなら、オプションで『テーブル構造のみ』にチェックをいれます。もしファイル名を同一にしたいのなら、元のファイルをリネーム(名前の変更)で”fale名_old"などとして、新しいファイルを元のファイル名にするといいでしょう。ただし、テーブルを削除したまま(テーブル構造のみもインポートしなかった場合)では、クエリーは開けませんし、クエリーはその状態で一度デザイン画面を開き『変更を保存する』にしてしまうと、もう一度作りなおす必要があります。フォームやレポートも各フィールドがErrorとなります。念のために。
その他の回答 (1)
- maruru01
- ベストアンサー率51% (1179/2272)
うまくいくかどうかわかりませんが。 標準モジュールに以下のプロシージャを作ります。 そして、新規マクロを作成し、アクションにプロシージャの実行を選択します。 そして、プロシージャ名に、deleteAllTable ()を入力して保存します。 あとは、そのマクロを実行します。 一度に全部消えないかも知れません。 その時は、何回か実行すれば全部削除できると思いますが。 うまくいかなかったらすいません。 Public Function deleteAllTable() As Boolean Dim delTable As TableDef With CurrentDb For Each delTable In .TableDefs If (delTable.Attributes And dbSystemObject) = False Then .TableDefs.Delete delTable.Name End If Next End With deleteAllTable = True End Function
お礼
なぜかうまくいきませんでした。 わざわざ書いていただきありがとうございました。
お礼
丁寧な説明ありがとうございました。 設計から考えていきます。