
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が遅いものがあり、これが原因でないかと思うのですが、
どのようにロック付きの更新を変更すればいいのかがわかりません。
どのように変更すればいいのでしょうか?
No.1ベストアンサー
- 回答日時:
を参考にしてください。
更新処理を高速に処理したいのであれば、
SQLのUPDATEを使う方がよいです。
SQLでアップデートした場合はレコードセットを再度取得してくださいね。
レコードセットは参照には便利ですが、
更新系はちょっと遅いんです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Access(アクセス) DoCmd.SearchForRecord が動かない時の解決方法 3 2022/07/22 15:31
- Access(アクセス) 実行時エラー3131 FROM 句の構文エラーです について 7 2022/06/13 15:45
- Visual Basic(VBA) データベースから絞り込んでデータを読み込み 1 2023/02/21 19:51
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Visual Basic(VBA) findメソッドの変数について 6 2023/06/23 08:01
- Access(アクセス) docmd.gotorecordを起動するには 5 2022/06/17 15:20
- 国産車 ホンダフィット2代GE6に乗っていますが RSというのはスポーティーですか 1 2023/06/01 15:09
- Access(アクセス) アクセス テーブルの空白を変数に置換するボタンが作りたい 4 2022/07/08 11:19
- 電子マネー・電子決済 LINE Pay………朝口座に9千入ってて夕方確認したら RSランペイっていう変な名前で勝手に口座か 1 2022/09/05 17:39
このQ&Aを見た人はこんなQ&Aも見ています
-
ADOでアクセスのレコードに複数のフィルタをかけるには?
Access(アクセス)
-
Access200のFilterとFindの違い
その他(データベース)
-
ACCESSVBAのseekで複数INDEX検索方法について
Access(アクセス)
-
-
4
MS Accessでフォームの「開く時」と「読込み時」のイベントの違い
Access(アクセス)
-
5
【Oracle】ADOでSELECT * FROM ・・・・ を実行すると処理が遅いんです
その他(データベース)
-
6
insertを高速化させたい
その他(データベース)
-
7
ACCESSで値を代入できないとは?
Visual Basic(VBA)
-
8
Accessにインポートしたら並び順が変わっちゃった
Access(アクセス)
-
9
FindFirst を複数条件で検索
Visual Basic(VBA)
-
10
ODBCの接続に失敗しました(3146)について
その他(Microsoft Office)
-
11
AccessからExcelにエクスポートする時に常に上書きしたい
Excel(エクセル)
-
12
Accessでフィールド名を変数(文字列)で・・・
Access(アクセス)
-
13
[Access]帳票フォームにて連続する非連結コントロールに個々の値を入れるには
Access(アクセス)
-
14
Access サブフォームでの選択行の取得
その他(データベース)
-
15
ACCESSで一括処理する方法
その他(データベース)
-
16
Access VBA DB(先頭の0値を消す方法)
PowerPoint(パワーポイント)
-
17
access2013でフォームに配置したコマンドボタンの色について
その他(Microsoft Office)
-
18
dbOpenTableとdbOpenDynaset
その他(プログラミング・Web制作)
-
19
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
20
[VBA] ADOの Clone と AddNew
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESSのFindコマンドが遅い
-
Access2003でのテーブルの有無確認
-
Set rst = db.OpenRecordset("S...
-
Accessの更新前処理について。D...
-
[Access]削除時のエラーメッセ...
-
AceessVBA 非同期処理について
-
access2000でつまづいてます
-
Access VBAで自動連番を振るには
-
access count数を変数に格納
-
Excel 2019 のピボットテーブル...
-
「直需」の意味を教えてください
-
エクセルVBAで5行目からオート...
-
Accessでテーブル名やクエリ名...
-
Access テキスト型に対する指定...
-
Accessでテーブルからテーブル...
-
エクセルグラフの凡例スペース
-
アクセス エラーを数値「0」に...
-
Accessのクエリでデータの入力...
-
Oracle 2つのDate型の値の差を...
-
INSERT INTO ステートメントに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessの更新前処理について。D...
-
access count数を変数に格納
-
access2000でつまづいてます
-
「更新に必要なキー列の情報が...
-
Access VBAで自動連番を振るには
-
Access2003でのテーブルの有無確認
-
[Access]削除時のエラーメッセ...
-
ACCESSのFindコマンドが遅い
-
Set rst = db.OpenRecordset("S...
-
Access VBA
-
AceessVBA 非同期処理について
-
VB2005でAddNew()
-
cobolのカーソルについて
-
ADOでループすると1レコードず...
-
なぜrs.Move i ではダメなので...
-
VB6とAccess
-
access vbaでクエリデータの中...
-
Excel 2019 のピボットテーブル...
-
「直需」の意味を教えてください
-
エクセルVBAで5行目からオート...
おすすめ情報