MS Access

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

投稿日:

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

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

-MS Access

執筆者:

関連記事

no image

「抽出条件 フォーム access not in クエリ」とか「forms access in 抽出条件 複数」とかでググっても出てこなかったので、メモ

Accessでフォームからクエリに抽出条件をパラメータで渡すやり方が分からなくて、数時間苦労。 このタイトルがGoogleの肥やしになって、このサイトに来てくれる人が増えれば。。。 要するに私がやりた …

no image

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

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

no image

Accessでレポートのレコードソースを動的にセットしたい

今までは、フォーム上のボタンをクリックしたら、レポートをデザインで開いてからレコードソースをセットしなければならないと思っていた。 つまり、こんなやり方をやっていた。 フォーム:  【ボタン1をクリッ …

no image

SqlServerにAccessでいうオートナンバー型をつける

テストデータを作るために、Accessで2万件ほどのデータを用意し、別途追加クエリを作って、ODBC接続したSqlServerに追加しようとしたところ、「型変換エラーがどうのこうので追加出来ない」との …

no image

Office2013のSELFCERT.EXEの場所

さがして、やっと見つかった。 自分のPC環境の場合は、以下だった。 C:\Program Files (x86)\Microsoft Office\Office15 参考にしたブログによっては、C:\ …