Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


3 / 2256 ツリー ←次へ | 前へ→

【13269】トランザクションの状態判定 ななしのゴンベ 18/12/27(木) 17:05 質問[未読]

【13270】Re:トランザクションの状態判定 亀マスター 18/12/29(土) 21:54 回答[未読]

【13270】Re:トランザクションの状態判定
回答  亀マスター  - 18/12/29(土) 21:54 -

引用なし
パスワード
   寡聞にしてトランザクション中の判定方法は知りませんが、私であればこうするというやり方を(他にもっとスタンダード・適切なやり方があるかもしれませんが)。

Sub Sample()

  Dim WSP As Workspace

  On Error GoTo ErrLabel

  Set WSP = Workspaces(0)
  WSP.BeginTrans

  'トランザクション中の処理

  WSP.CommitTrans
  Set WSP = Nothing

  Exit Sub

ErrLabel:
  If Not WSP Is Nothing Then
    WSP.Rollback
  End If

このように、WSPをトランザクションの直前直後でセット、解放して、あとはトランザクション中かどうかの判定が必要なとき(エラー発生時など)に
If WSP Is Nothing Then
という風に、WSPがNothingかどうかで判定します。

あるいは、エラーラベルをトランザクション中の処理とそうでないときの処理で分けるという方法もあるかと思います。

3 / 2256 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1021545
(SS)C-BOARD v3.8 is Free