プロが教えるわが家の防犯対策術!

テーブルが50個ぐらいあるのですが、それらを一気に削除する方法はないでしょうか?
現在は1つ1つを選択して削除しています。
なにか簡単な方法があれば教えてください。お願いいたします。

A 回答 (2件)

テーブルはアクセスの基本となるので、それを削除するということはそのデータべース(ファイル)を基本的に再構築するものと考え回答いたします。


少し変則的なやりかたですが、アクセスのデータベースを一からやり直したいけど、一部残したい場合私は一度新しいデータベースを作成し、必要なクエリーやフォーム、レポートなどの必要なものをすべてインポートします。そうすると、必要な物だけが残ったデータベースになります。このときにテーブルのデータだけ削除しテーブル構造は残したいのなら、オプションで『テーブル構造のみ』にチェックをいれます。もしファイル名を同一にしたいのなら、元のファイルをリネーム(名前の変更)で”fale名_old"などとして、新しいファイルを元のファイル名にするといいでしょう。ただし、テーブルを削除したまま(テーブル構造のみもインポートしなかった場合)では、クエリーは開けませんし、クエリーはその状態で一度デザイン画面を開き『変更を保存する』にしてしまうと、もう一度作りなおす必要があります。フォームやレポートも各フィールドがErrorとなります。念のために。
    • good
    • 0
この回答へのお礼

丁寧な説明ありがとうございました。
設計から考えていきます。

お礼日時:2001/11/14 14:07

うまくいくかどうかわかりませんが。



標準モジュールに以下のプロシージャを作ります。
そして、新規マクロを作成し、アクションにプロシージャの実行を選択します。
そして、プロシージャ名に、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
    • good
    • 0
この回答へのお礼

なぜかうまくいきませんでした。
わざわざ書いていただきありがとうございました。

お礼日時:2001/11/14 14:06

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!