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

  関連記事

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

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

ADO Access (参照設定)
データベース(Access 等)に接続(ADO)

ADO で、データベースに接続 外部データベースを操作する方法のひとつに ADO …

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

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

Filter プロパティ(ADO)
レコードを指定した条件で抽出する(ADO)Filter プロパティ

データベースのレコードを指定した条件で抽出する Filter プロパティ 【書式 …

ADOX データベース作成1
データベースを作成する(ADOX)

ADOX を使用してデータベース(Access)を作成 Catalog オブジェ …

ado Field オブジェクト
フィールド名(ADO)Field オブジェクト

Field オブジェクト Recordset オブジェクト内の列(フィールド)を …

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

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

ADOX インデックスを作成する1
インデックス、プロパティの設定(ADOX)

インデックスを作成する index オブジェクト 【書式】 <CreateObj …

Command.Execute Insert Into 文
SQL文を実行する(ADO)Execute メソッド

Command オブジェクトの Execute メソッドで、SQL文を実行 Co …

ADOX テーブル名・クエリ名を取得
テーブル名、クエリ名の取得(ADOX)

テーブル名の取得 Table.Type プロパティ 【書式】 <取得> obje …