■ 現在のこのページの役立ち度:
表示されない場合こちらのリンクからもご覧になれます。
■ このページの役立ち度を評価する:
役立ち度を評価してください。
(1(左):あまり役立たない - 5(右):大変役立った):
■ ページの共有:
[ サイト内検索 ]
カスタム検索
#3137-0
モジュールから既存のテーブルを削除するには?
いつもお世話になっております。

さて、テーブル作成SQLを実行し、処理で必要なテーブル(Access)を作成しています。
この処理は、幾度となく処理するため、このSQL文が実行されると、「テーブルが既に存在」というエラー
が発生します。 Accessのテーブル作成クエリーでは、「テーブルが既に存在しています。置き換えます
か?」と聞いてくれたのですが、VBではそこまではやってくれないのですね。

そこで、既に作成されているAccessデータベース内の特定のテーブルを削除するためには、どのような
コードをコーディングすれば良いのでしょうか?

よろしくお願いいたします。
#3139-0
RE#3137:モジュールから既存のテーブルを削除するには?
> そこで、既に作成されているAccessデータベース内の特定のテーブルを削除するためには、どのような
> コードをコーディングすれば良いのでしょうか?

DROP ステートメントのヘルプを見てね。
#3142-0
RE#3139:モジュールから既存のテーブルを削除するには?
ぜんちゃん、こんにちは。

ご回答いただきありがとうございます。
> DROP ステートメントのヘルプを見てね。

ヘルプを見てみたのですが、英語で書かれているため何が何やら分かりません。
お手数をおかけしますが、具体的な方法を教えていただけませんか?
#3143-0
RE#3142:モジュールから既存のテーブルを削除するには?
> ヘルプを見てみたのですが、英語で書かれているため何が何やら分かりません。
> お手数をおかけしますが、具体的な方法を教えていただけませんか?
えっ?なんで?
なんで英語なの?

もしかして、VB6でADO使ってるんですか?
私のはVB5のDAO3.5なんで参考になるかどうか・・・

とりあえず、ヘルプの使用例をそのまま載せておきます。

構文
DROP {TABLE table | INDEX index ON table}
DROP ステートメントには、次の指定項目があります。

指定項目	内容
table	削除するテーブルの名前、または削除するインデックスのあるテーブルの名前。
Index	引数 table から削除するインデックスの名前。
次の例では、データベースから Employees テーブルを削除します。

Sub DropX2()

	Dim dbs As Database

	' この下の行を、使用しているコンピュータ上の
	' Northwind のパスに変更してください。
	Set dbs = OpenDatabase("Northwind.mdb")

	' Employees を削除します。
	dbs.Execute "DROP TABLE Employees;"

	dbs.Close

End Sub
#3145-0
RE#3142:モジュールから既存のテーブルを削除するには?
> ぜんちゃん、こんにちは。
> 
> ご回答いただきありがとうございます。
> > DROP ステートメントのヘルプを見てね。
> 
> ヘルプを見てみたのですが、英語で書かれているため何が何やら分かりません。
> お手数をおかけしますが、具体的な方法を教えていただけませんか?

「 DROP TABLE  削除したいテーブル; 」
とSQLで記述すればOK!
まあ、SQLを知らんと話になりませんが・・・・
#3149-0
RE#3143:モジュールから既存のテーブルを削除するには?
ぜんちゃん、こんにちは。

ありがとうございました。
ぜんちゃんの言うとおり、VB6を使っています。(説明不足で申し訳ありません m(_._)m

お陰様で、上手くいきました。
ADOでは、若干異なる部分もありますが、基本的にはDAOと変わりなくできました。
#3152-0
RE#3149:モジュールから既存のテーブルを削除するには?
ぜんちゃん、こんにちは。

度々で申し訳ありません。

> お陰様で、上手くいきました。
> ADOでは、若干異なる部分もありますが、基本的にはDAOと変わりなくできました。
と思ったのですが、何度もこの命令をかけると、「テーブルが存在しません!」と起こられてしまいます。

指定した、テーブルが存在するかどうかを確認するにはどうしたらいいのでしょうか?
#3156-0
RE#3152:モジュールから既存のテーブルを削除するには?
> 指定した、テーブルが存在するかどうかを確認するにはどうしたらいいのでしょうか?

 DAOしかわかりませんが・・・
 常套手段として、
 Dim tbf As TableDef
 として、
 TableDefsコレクションの中をループで回して探し、
 If tbf.Name = <目的> Then
     tbf.Delete
 としています。
#3166-0
RE#3152:モジュールから既存のテーブルを削除するには?
> 指定した、テーブルが存在するかどうかを確認するにはどうしたらいいのでしょうか?

ADOならOpenSchemaメソッドを使ってDB名を取得すればよろしいかと…
ヘルプにいい例があります。
お探しの情報は見つかりましたか?お困りの問題は解決しましたか?
サイト内検索, 似た記事検索で見つからなくてもあきらめずに掲示板で質問してみましょう。
VB初心者友の会があなたのお役に立てれば幸いです。また、本ページの投稿者の方々にこの場を借りて感謝致します。
本ページは過去ログを集めて自動構成しています。よろしければこのページに関するフィードバックをお願いします。
(※ 構成の誤り、広告等の不適切な記事、リンク切れ、読めないページの報告など)