MS Access

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

投稿日:

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

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

-MS Access

執筆者:

関連記事

no image

AccessのレポートでNoDataでイベントキャンセル後もReport_Closeが実行されて困った

Accessのレポートで表示するデータがない場合は、以下のように書けばスマートにキャンセルできる。 Private Sub Report_NoData(Cancel As Integer) MsgBo …

no image

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

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

Access「実行時エラー3061 パラメータが少なすぎます。2を指定してください」で意外な決着

クロス集計クエリをVBAで読むときで、かつパラメータクエリを使う場合には、クエリのパラメータパネルで、別途、パラメータを指定しなくてはならない(VBAで使わないなら不要) 本日のトラブルは、その後、W …

no image

Accessのパラメータは クエリのみならず、SQL文字列でも できるとは。。。

以下のリンクが参考になった。 パラメータの設定方法がわかりません。パラメータの設定を行ってい… – Yahoo!知恵袋 以下は、自分の業務で作成したコード。 Dim dbs A …

no image

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

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