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 メソッド カレントレコードを削除 …

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

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

CSVフィアルに接続(ADO)
CSVファイルに接続(ADO)

ADOでCSVファイルに接続 ADO を使用してCSVファイルを読み込みます。C …

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

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

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

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

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

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

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

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

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

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

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

CopyFromRecordset メソッド ADO の Recordset オ …

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

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