- ベストアンサー
VBSにて、Accessのテーブルを削除
VBSの質問がここが妥当でなかったら、すみません。 VBSで、Accessの"A_TBL"というテーブルを削除したいのですが、 Set objAccess = CreateObject("Access.Application") objAccess.OpenCurrentDatabase("C:\test\TEST.mdb) objAccess.DoCmd.DeleteObject acTable, "A_TBL" を実行すると、 「実行時エラー:この変数は宣言されていません。:'acTable'] と出力され、エラーになります。どなたか、教えていただければうれしいです。 どうか、お願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
「acTable」と言うのは、ACCESS内部で定義された定数です。 ACCESS内部からしか使えません。 VBSでACCESS外部から使用する場合、実際に何が定義されているかを調べて、その値に置き換える(又は、定数宣言する)必要があります。 調べ方: ACCESSを起動し、適当なMDBファイルを開いておきます。 メニューの「ツール」ー「マクロ」ー「VisualBasicEditor」で、 VBエディタ画面を開きます。 F2キーを押して、「オブジェクトブラウザ」を開きます。 検索欄に「acTable」と入力して検索します。 そうすると、 -------------------------------------- Const acTable = 0 Access.AcObjectType のメンバ -------------------------------------- こういうのが見つかると思います。 これで、「acTable」は「0」と置き換えなければならないのが分かります。 #又は、VBSのコード内に「Const acTable = 0」と記述して定数宣言を行う。
その他の回答 (1)
- nicotinism
- ベストアンサー率70% (1019/1452)
余談ですが・・・ こんな方法ならAccessがインストールされていない環境でもMDBファイルを操作できます。 Jet データベースからテーブルを削除する方法はありますか http://www.microsoft.com/japan/technet/scriptcenter/resources/qanda/mar05/hey0311.mspx
お礼
ありがとうございます。大変参考になりました。
お礼
大変よくわかりました。ありがとうございます!