ExcelWork.info

Excel(エクセル)のマクロ・VBA・関数・操作などのメモ

トランザクション(ADO)BeginTrans、CommitTrans、RollbackTrans

      2017/10/23

ADO でのトランザクション処理


【書式】


Sub Sample_Transaction

<<データベース接続>>      
On Error GoTo ErrHandler ……> エラートラップ開始
connection_object.BeginTrans ……> トランザクション開始
処理1      
処理2      
・      
・      
・      
connection_object.CommitTrans ……> 処理の確定
On Error GoTo 0 ……> エラートラップ終了
<<終了処理等>>      
  Exit Sub ……> 処理が正常に行われた場合は終了
ErrHandler: ……> エラーが発生した時、ここまで移動
connection_object.RollbackTrans ……> すべての処理を破棄する
<<終了処理等>>      

End Sub

 ※ connection_object …… Connection オブジェクト



BeginTrans メソッド

【書式】

object.BeginTrans


引数・戻り値

  • object  ・・・  対象となる Connection オブジェクトを指定します。
  • 戻り値  ・・・  トランザクションのネストのレベルを示す長整数型(Long)の値。

BeginTrans メソッドを呼び出すと、CommitTrans メソッド または RollbackTrans メソッドを呼び出しトランザクションを終了するまで、変更は実行されません。



CommitTrans メソッド

【書式】

object.CommitTrans


CreateObject 関数

  • object  ・・・  対象となる Connection オブジェクトを指定します。

CommitTrans メソッドを呼び出すとその接続上で開いているトランザクションに加えた変更が保存され、トランザクションが終了します。開いているトランザクションが存在しない場合、エラーが発生します。



RollbackTrans メソッド

【書式】

object.RollbackTrans


CreateObject 関数

  • object  ・・・  対象となる Connection オブジェクトを指定します。

RollbackTrans メソッドを呼び出すとその接続上で開いているトランザクションに加えた変更がすべて元に戻され、トランザクションが終了します。開いているトランザクションが存在しない場合、エラーが発生します。



トランザクション 使用例

サンプルVBAソース その1


実行結果

トランザクション01



サンプルVBAソース その2


実行結果

トランザクション02



 - データベース , , , , , , , , , , , , ,

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

  関連記事

Delete メソッド(ADO)
レコードの削除(ADO)Delete メソッド

データベースのレコードを削除する Delete メソッド カレントレコードを削除 …

データベース(SQLServer)接続
データベース(SQL Server)に接続する(ADO)

データベース(SQL Server)に接続 ODBC または OLE DB で接 …

Update メソッド(ADO)
レコードの更新(ADO)Update メソッド

データベースのレコードを更新する Update メソッド カレントレコードの内容 …

Recordsetオブジェクト内のカーソル移動
カレントレコードの移動(ADO)MoveFirst、MoveLast、MoveNext、MovePrevious、Move

MoveFirst メソッド、MoveLast メソッド、MoveNext メソ …

Parameters.Refresh エラー
クエリにパラメータを渡して結果を取得する(ADO)Command オブジェクト・Execute メソッド

クエリにパラメータを渡して結果を取得する手順 Command オブジェクトの作成 …

DB Class Excel へ接続
Excel VBA のクラスを使ってデータベースへ接続する(ADO)

データベースの処理をクラスモジュールに書く ExcelVBAで、クラス使用する方 …

Excelに接続する(ADO)
Excelファイルに接続(ADO)

ADOでExcelファイルに接続 ADO を使用してExcelファイルを読み込み …

SQL実行結果
データベース(Oracle)に接続する(ODBC を使用)

ODBC接続(ADO) ADOで、ODBC(Open Database Conn …

CopyFromRecordset メソッド
Recordset オブジェクトの内容をワークシートにコピーする(CopyFromRecordset メソッド・ADO)

CopyFromRecordset メソッド ADO の Recordset オ …

ADOX クエリを作成
クエリの作成・削除(ADOX)

ADOX を使用してクエリを作成・削除 クエリを作成する手順 【書式】 <参照設 …