アプリ版:「スタンプのみでお礼する」機能のリリースについて

VBSでADOを使ってaccessのテーブルに接続する方法は?

Sub ADO_test()

Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset

cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source= " & "D:\【Access】サンプル.mdb"
rs.Open "テーブル1", cn, adOpenKeyset, adLockOptimistic

MsgBox "test成功です"

rs.Close: Set rs = Nothing
cn.Close: Set cn = Nothing

End Sub

をACCESSVBAで実行すると成功しますが
全く同じコードをメモ帳に貼り付けてtest.vbsで保存し、ダブルクリックすると、

行:3
文字:11
エラー:ステートメントの末尾が不正です。
コード:800A0401

のエラーになります。

VBAは少しわかるのですが、VBSに関しては初心者です。
どこを修正すればコードが通るのか教えてください。

「VBSでADOを使ってaccessのテー」の質問画像

A 回答 (3件)

以下をテキストに貼り付け、拡張子をvbsで


保存して実行してみてください。


Dim cn
Dim rs
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
cn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=D:\【Access】サンプル.mdb;"
rs.Open "SELECT * FROM テーブル1", cn
msgbox "接続"

rs.Close: Set rs = Nothing
cn.Close: Set cn = Nothing




vbsはコードの書き方が少し違います。たとえば変数の
型は指定できません。その他もろもろがあります。
VBScript、あるいはWSHなどで検索してみてくだい。
    • good
    • 1
この回答へのお礼

おお!こちらでも出来ました。

変数の宣言はしないで、CreateObjectを使うと言うのが味噌ですね。

cn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=D:\
と言う記述方法も勉強になりました。

VBSの勉強をもってしてみたいと思います。
ありがとうございました。

お礼日時:2012/10/17 19:54

Dim cn 'データ型の指定は出来ません。

VBSにお任せになります
Dim rs
const adOpenKeyset = 1
const adLockOptimistic = 3
set cn=createobject("adodb.connection") 'Accessのように参照設定は出来ないので此処で
set rs=createobject("adodb.recordset")

cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source= " & "D:\【Access】サンプル.mdb"
rs.Open "テーブル1", cn, adOpenKeyset, adLockOptimistic 'Accessの定数名では指示できないので実数で
'rs.Open "テーブル1", cn, 1, 3 'これだと後で見ても分からないので、Const で宣言
MsgBox "test成功です"
msgbox rs(0)
rs.Close: Set rs = Nothing
cn.Close: Set cn = Nothing

かな?
定数の実際の値はイミディエイトウィンドウで
?adOpenStatic とかで返ってくる値を確認してください。
    • good
    • 0
この回答へのお礼

ぉぉ!
うまくいきました!
感動です。

Sub ()
End Sub
はなくてもいいんですね。ありがとうございました。

お礼日時:2012/10/17 19:54

cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source= " & "D:\【Access】サンプル.mdb"





cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source= " & """D:\【Access】サンプル.mdb"""

とすると、どうなりますか?
    • good
    • 0
この回答へのお礼

"""にしてみましたが、さっきと変らずでした。せっかくご回答いただいたのにすいません。

お礼日時:2012/10/16 22:14

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