|
分類:[VB.NET/VB2005 以降]
VBの開発バージョン : Visual Basic 2010 アプリのエンドユーザーバージョン : Visual Basic 2010 mdbバージョン : Access2000
Dim ws As DAO.Workspace 'ワークスペース Dim db As DAO.Database 'データベース Dim rs As DAO.Recordset 'レコードセット Dim rs2 As DAO.Recordset 'レコードセット
'DAOの設定 ws = DAODBEngine_definst.Workspaces(0) db = ws.OpenDatabase(strMdbName)
ws.BeginTrans は、エラーなく正常にトランザクションがかかっているにもかかわらず、 ws.CommitTransで 「Error #3034: コミットまたはロールバックを実行するには、BeginTrans メソッドを使用してください。」 エラーになることがあります。 この原因について教えていただけませんでしょうか?
この現象の再現性はなく、まれに発生します。
シーケンスとしては、 rsにレコード抽出結果を蓄える ws.BeginTrans
rs.Edit() rsのFieldの値を書き換え rs.Update()
rs2にレコード抽出結果を蓄える rs2のレコードを削除 rs2.Close()
他のテーブルにレコードを追加
ここまでは、エラーが発生することはありませんでした。
ws.CommitTrans でエラーが発生します。
|