- ベストアンサー
AccessでのROLLBACKについて
動作環境:VB6+Access2000 ADOを使ってVBからAccessのデータベースに接続しています。 COMMITとROLLBACKの機能を追加しようと思い下記プログラムの (1)から(6)を追加して実行すると(1)のところで 「メソッドがみつかりません」というエラーになります。 (1)から(6)を追加するまでは正常に動作しています。 本を参考に(1)から(6)を追加しました。 ようするに「BeginTrans」のメソッドが使えないのでしょうが、 対策を教えて頂くと助かります。 (別にコーディングは別の書き方でもいいですが、ADOは使います) よろしくお願いします。 ------------------------------------------------ プログラム Private Sub ConnectType() Set mCn = New ADODB.Connection mCn.ConnectionString = DEF_CONNECT & AppPath & "\" & DBfile mCn.Open Set mRs = New ADODB.Recordset If Text8.Text <> "" Then mRs.BeginTrans '(1) mRs.Source = Text8.Text mRs.ActiveConnection = mCn mRs.CursorType = adOpenDynamic mRs.LockType = adLockOptimistic mRs.Open If MsgBox("変更を保存しますか?", vbYesNo) = vbYes Then '(2) mRs.CommitTrans '(3) Else '(4) mRs.Rollback '(5) End If '(6) End If Debug.Print Text8.Text End Sub
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ADOのトランザクション メソッドは、Connection オブジェクト内 のトランザクション管理ではなかったでしょうか? レコードセットではなくConnectionに対してトランザクションを かけてみてください。
その他の回答 (1)
ADOはあまり使ったことがないので、自信なしで……。 ビギントランスは「データベース」を開始するものです。 mRs はこの場合「レコードセット」ですので、トランザクションの概念はありません。 MSアクセスは、レコードセット単位でのトランザクション制御はできなかったはずです。
お礼
回答ありがとうございます。
お礼
ありがとうございます。 よくわかりました。