[WSH]VBSからSQLでAccessのデータを操作する方法 (ADO)
VBSからアクションクエリを発行
今回は、VBSから直接SQLを発行してMDBファイルのデータを削除・更新・追加する方法を紹介します。
Option Explicit
Dim cn
Dim rs
Set cn= CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
cn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=C:¥ファイル名.mdb;"
rs.Open "DELETE FROM Table1", cn
rs.Open "INSERT INTO Table1 ( ID, Field1 ) " & _
"SELECT Table2.ID, Table2.Field1 FROM Table2;", cn
rs.Open "UPDATE Table1 SET Field1 = 'abc' WHERE Field1 = 'xyz' ", cn
cn.Close
Set rs = Nothing
Set cn = Nothing
MsgBox "完了しますた。"
注意事項
SQL文の中にダブルクォーテーション(")が入っているとうまく動きません。
文字列を表現したい場合はシングルクォーテーション(')で囲みましょう。
また、Access上で動作するSQL文でも、VBSから発行するとエラーになることがあります。
その場合は、標準SQL文に近い形で記述するとたいてい動きます。