dポイントプレゼントキャンペーン実施中!

VBSの質問がここが妥当でなかったら、すみません。

VBSで、Accessの"A_TBL"というテーブルを削除したいのですが、

Set objAccess = CreateObject("Access.Application")

objAccess.OpenCurrentDatabase("C:\test\TEST.mdb)

objAccess.DoCmd.DeleteObject acTable, "A_TBL"

を実行すると、

「実行時エラー:この変数は宣言されていません。:'acTable']

と出力され、エラーになります。どなたか、教えていただければうれしいです。
どうか、お願いします。

A 回答 (2件)

「acTable」と言うのは、ACCESS内部で定義された定数です。


ACCESS内部からしか使えません。

VBSでACCESS外部から使用する場合、実際に何が定義されているかを調べて、その値に置き換える(又は、定数宣言する)必要があります。

調べ方:

ACCESSを起動し、適当なMDBファイルを開いておきます。
メニューの「ツール」ー「マクロ」ー「VisualBasicEditor」で、
VBエディタ画面を開きます。
F2キーを押して、「オブジェクトブラウザ」を開きます。
検索欄に「acTable」と入力して検索します。

そうすると、
--------------------------------------
Const acTable = 0
Access.AcObjectType のメンバ
--------------------------------------
こういうのが見つかると思います。
これで、「acTable」は「0」と置き換えなければならないのが分かります。

#又は、VBSのコード内に「Const acTable = 0」と記述して定数宣言を行う。
    • good
    • 0
この回答へのお礼

大変よくわかりました。ありがとうございます!

お礼日時:2007/04/10 12:05

余談ですが・・・


こんな方法ならAccessがインストールされていない環境でもMDBファイルを操作できます。

Jet データベースからテーブルを削除する方法はありますか
http://www.microsoft.com/japan/technet/scriptcen …
    • good
    • 0
この回答へのお礼

ありがとうございます。大変参考になりました。

お礼日時:2007/04/10 12:05

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