MS Access

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

投稿日:

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

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

-MS Access

執筆者:

関連記事

no image

Accessで指定テーブル内を全文検索

今まで、特定のフィールド内でしか検索できないものだと思っていた・・・。 Accessのリボンの検索ボタンをクリックして表示されるダイアログボックス内の「探す場所」で特定のテーブル/クエリ/フォーム名か …

Shopify(Matrixify)でスケジュール化したJobのキャンセル

どうしても方法を見つけられなかったが、ふと画面に目を落とすと、あった、方法が。 焦ると視野が狭くなって、なかなか気が付かないんだよなあ、こういうの。 You have 4 scheduled jobs …

no image

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

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

no image

Accessでフォームフィルタの結果をExcelにエクスポートする

ちょっと、苦労した。 Private Sub cmdDMデータ作成_Click() On Error GoTo Err_cmdDMデータ作成_Click Dim rstf As String Dim …

no image

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

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