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 を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

  関連記事

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

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

ADO Fields コレクション
フィールド名(ADO)Fields コレクション

Fields コレクション Recordset オブジェクト内の1つ以上の列(フ …

Oracle(oo4o)接続サンプル1
データベース(Oracle)に接続する(oo4o)

oo4o 接続 OO4O(Oracle Objects for OLE)はWin …

Sort プロパティ(ADO)
レコードを並べ替える(ADO)Sort プロパティ

データベースのレコードを並べ替える Sort プロパティ 【書式】 object …

ADOX テーブルの作成
テーブルの作成・削除/フィールドの作成・削除(ADOX)

ADOX を使用してテーブル・フィールド(列)を作成・削除 Table オブジェ …

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

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

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

CopyFromRecordset メソッド ADO の Recordset オ …

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

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

RecordCount プロパティ(ADO)
Recordset オブジェクト内のレコード数(ADO)RecordCount プロパティ

RecordCount プロパティ Recordset オブジェクトのレコード数 …

ora ファイル
データベース(Oracle)に接続する(OLE DB を使用)

OLE DB プロバイダ OLE DBには、Oracle 提供の Oracle …