- 締切済み
レコードセットの開放のタイミングについて
いつもお世話になります。 クライアント:Excel2000(マクロ) サーバ :SQLServer2000 Dim strCon As String Dim oWK As Object Dim oDB As Object Dim strQ As String Dim rRec As RecordSet strCon = "ODBC;DRIVER=SQL Server;SERVER=hoge;UID=hoge;PWD=hoge;DATABASE=hoge" Set oWK = DBEngine.CreateWorkspace("hogewk", "hoge", "hoge", dbUseODBC) Set oDB = oWK.OpenConnection("", dbDriverNoPrompt, False, strCon) strQ = "select * from [tbl_hoge]" Set rRec = db.OpenRecordset(strQ, _ dbOpenDynamic, _ dbExecDirect, _ dbOptimisicValue) Do Until rRec.EOF = True If (条件) then oWK.Begintran 処理 oWK.Commit End If rRec.MoveNext Loop 上記のプロシージャをExcelからSQLServerに対し実行しましたが、rRec.MoveNextが エラーとなってしまいました。 oWK.Commitを実行後、問題が発生いたしました。 おそらく、oWK.CommitによりrRecレコードセットが開放されてしまったと思います。 これは仕方が無いのでしょうか。回避方法(プロシージャレベル)は御座いますでしょうか。 情報に不足がある場合、ご連絡いただけましたら補足させていただきます。 どうか宜しくお願いいたします。
- みんなの回答 (1)
- 専門家の回答