アプリ版:「スタンプのみでお礼する」機能のリリースについて

ACCESS2000でORACLEにリンクテーブルをはり、更新するプログラムを作成しています。
そこでADOでFINDコマンドを使用しているのですが、かなり遅く困っています。
どのようにすれば、早くロック付きの更新ができますでしょうか?

Set cn = Application.CurrentProject.Connection
Set rs = New ADODB.Recordset
cn.BeginTrans
rs.Open "テーブル名", cn, addopenkeyset, adLockOptimistic

rs.MoveFirst
strKey = "ankKey = 'aaa'"
rs.Find strKey
rs.ankA = "あ"
rs.Update

cn2.CommitTrans

キィを変えてLOOPさせ更新させていると
複数ステップのOLE DBの操作でエラーが発生しました。各OLE DBの状態の値を確認してください。作業は終了しませんでした。
のエラーになります。
1行1行みてみると異常にFINDが遅いものがあり、これが原因でないかと思うのですが、
どのようにロック付きの更新を変更すればいいのかがわかりません。

どのように変更すればいいのでしょうか?

A 回答 (1件)

http://www.ne.jp/asahi/hishidama/home/tech/acces …
を参考にしてください。

更新処理を高速に処理したいのであれば、
SQLのUPDATEを使う方がよいです。

SQLでアップデートした場合はレコードセットを再度取得してくださいね。

レコードセットは参照には便利ですが、
更新系はちょっと遅いんです。
    • good
    • 0
この回答へのお礼

無事に解決しました。
ありがとうございました。

お礼日時:2010/03/10 14:34

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています