[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文に近い形で記述するとたいてい動きます。
カテゴリ: