• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBSでADOを使ってaccessのテーブルに接続)

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

このQ&Aのポイント
  • VBSを使用してADOを介してAccessのテーブルに接続する方法を教えてください。
  • ACCESSVBAで上手く動作するコードをメモ帳に貼り付けてVBSファイルとして保存し、実行したらエラーが出ました。どこを修正すればエラーが解消するか教えてください。
  • 初心者のため、VBSについて詳しくわかりません。VBSでADOを使用してAccessのテーブルに接続する方法についての解説をお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.2

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 とかで返ってくる値を確認してください。

SOQRFGFKD
質問者

お礼

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

その他の回答 (2)

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.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などで検索してみてくだい。

SOQRFGFKD
質問者

お礼

おお!こちらでも出来ました。 変数の宣言はしないで、CreateObjectを使うと言うのが味噌ですね。 cn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=D:\ と言う記述方法も勉強になりました。 VBSの勉強をもってしてみたいと思います。 ありがとうございました。

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

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""" とすると、どうなりますか?

SOQRFGFKD
質問者

お礼

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

関連するQ&A