[トランザクション処理を行う]

test.mdb のテストテーブルにレコードを追加します。
途中でエラーが発生した場合は、すべての追加を無効にします。
定数定義ファイルの読み込み関数(IncludeAdoDefine)を使用しています。(ソースコードは省略します)

【ソースコード】
[tips0151.vbs]
Option Explicit
On Error Resume Next

Dim strDbName   ' データベース名
Dim blnRetCode  ' 戻り値
Dim objAdoCon   ' ADO 接続
Dim lngLoop     ' ループカウンタ
Dim strSqlStmt  ' SQL 文

strDbName = "test.mdb"
' ADO 定数の読み込み
blnRetCode = IncludeAdoDefine()
If blnRetCode = True Then
    Set objAdoCon = WScript.CreateObject("ADODB.Connection")
    If Err.Number = 0 Then
        objAdoCon.ConnectionString = _
            "Provider=Microsoft.Jet.OLEDB.4.0;" & _
            "Data Source=" & strDbName
        objAdoCon.Open
        objAdoCon.BeginTrans

        For lngLoop = 1 To 5
            strSqlStmt = "INSERT INTO テスト" & _
                        " (番号, 名称)" & _
                        " VALUES" & _
                        " (" & lngLoop & ", 'テスト" & lngLoop & "')"
            objAdoCon.Execute strSqlStmt, , adExecuteNoRecords
            If Err.Number = 0 Then
                WScript.Echo lngLoop & ": レコードを追加しました。"
            Else
                WScript.Echo "エラー:" & Err.Description
                blnRetCode = False
                Exit For
            End If
        Next

        If blnRetCode = True Then
            WScript.Echo "コミットしました。"
            objAdoCon.CommitTrans
        Else
            WScript.Echo "ロールバックしました。"
            objAdoCon.RollbackTrans
        End If

        objAdoCon.Close
    Else
        WScript.Echo "エラー:" & Err.Description
    End If

    Set objAdoCon = Nothing
End If

【実行結果】
C:\> cscript //NoLogo tips0151.vbs
1: レコードを追加しました。
2: レコードを追加しました。
エラー:インデックス、主キー、またはリレーションシップで値が重複しているので、テ
ーブルを変更できませんでした。重複する値のあるフィールドの値を変更するか、インデ
ックスを削除してください。または重複する値を使用できるように再定義してください。
ロールバックしました。