MS Access

Accessで DoCmd.RunSQL を CurrentDb.Executeにしたら、1秒高速化した

投稿日:

処理が遅いので速くして欲しいとの要望があったので、コードを調査。
DoCmd.RunSQL を CurrentDb.Execute に置き換えると非同期で実行されるとの情報を得たので、試す。
結果、60件の処理で1秒速くなった。
しかし、せいぜいこれくらいしかできなかった。。。

けども、副次的な効果として、処理実行中に「応答なし」となるシーンがほとんどなくなったし、画面右下のステータスバーに「クエリが実行中」がちらちら見え隠れすることがなくなったことは、良かった。
あと、DoCmd.RunSQLを使わなくなったためにDoCmd.SetWarningsが不要になった箇所が出てきたので削除でき、コードの見通しが良くなったことか。

-MS Access

執筆者:

関連記事

no image

Accessで1件ずつレコードを読んでスナップショットファイルを作ってメール送信する処理

作るのにWebに情報が無くてすごく苦労したので備忘録。 私にしかわからないかもしれないけど、見た人も何か参考になるかもしれないから、公開しよっと。 ■事前準備 1.処理を起動するフォームにボタン「調査 …

no image

AccessからExcelフォーマットでファイルに出力するサンプルコード

Excelから外部データの接続の際に,ユーザー定義関数を含んだクエリを指定するとエラーになったので、こんなやり方で対処。 Private Sub btnB2_Click() DoCmd.OutputT …

no image

Accessであらかじめリンクテーブルを開いておくと劇的に高速化

リンクテーブルに対して「Dlookupで値を探して見つかったらCurrentDb.Execute UPDATE~ で値を更新」という処理をループで回している。 この処理、一旦始めると、終えるのに30分 …

もう何度もAccessの集計クエリの作成をミスって怒られている

私が悪い。反省。 自戒のメモ。 Accessの集計クエリに条件を加えたい場合、その条件をどこに書くかによって結果が全く違ってくる。 それをわかってはいるのだが・・・最大やら演算やら、細かいことを同時に …

no image

ExcelからAccessの外部データの取り込みでトラブル

ExcelからAccessのクエリを使いたいとき、データ接続途中の「テーブルの選択」ウィンドウに、使いたいクエリが表示されない。 ウィンドウ内には、Accessにあるはずのクエリがあったりなかったり。 …