- ベストアンサー
VBSでADOを使ってaccessのテーブルに接続する方法
- VBSを使用してADOを介してAccessのテーブルに接続する方法を教えてください。
- ACCESSVBAで上手く動作するコードをメモ帳に貼り付けてVBSファイルとして保存し、実行したらエラーが出ました。どこを修正すればエラーが解消するか教えてください。
- 初心者のため、VBSについて詳しくわかりません。VBSでADOを使用してAccessのテーブルに接続する方法についての解説をお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
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 とかで返ってくる値を確認してください。
その他の回答 (2)
- piroin654
- ベストアンサー率75% (692/917)
以下をテキストに貼り付け、拡張子を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などで検索してみてくだい。
お礼
おお!こちらでも出来ました。 変数の宣言はしないで、CreateObjectを使うと言うのが味噌ですね。 cn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=D:\ と言う記述方法も勉強になりました。 VBSの勉強をもってしてみたいと思います。 ありがとうございました。
- bin-chan
- ベストアンサー率33% (1403/4213)
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""" とすると、どうなりますか?
お礼
"""にしてみましたが、さっきと変らずでした。せっかくご回答いただいたのにすいません。
お礼
ぉぉ! うまくいきました! 感動です。 Sub () End Sub はなくてもいいんですね。ありがとうございました。