※ ChatGPTを利用し、要約された質問です(原文:Accessで進行状況インジケーターの表示だけ止めたい)
Accessで進行状況インジケーターの表示を一時停止する方法
このQ&Aのポイント
Accessで進行状況インジケーターの表示を一時停止する方法について説明します。
VBAのSyscmdコマンドを使用して進行状況を表示している場合、マクロ動作により表示が妨げられることがあります。
Application.Echo falseを使用すると、ウィンドウ内の表示を一時停止できますが、インジケーターはロックされません。対処方法をご教示ください。
Accessで進行状況インジケーターの表示だけ止めたい
Accessで進行状況インジケーターの表示だけ止めたい
VBAで、Syscmdなどの命令を使って、左下のインジケーター部に
進行状況を表示していますが、マクロ動作により、次のクエリが
動いているときには「クエリを実行しています■■」のような
表示になってしまいます。
Syscmdコマンドを使用した直後に、インジケータ部の表示だけ
ロックして、次のメッセージを表示させたい時点でリフレッシュ
するようなことは可能でしょうか。
Application.Echo falseは試してみましたが、ウィンドゥ内の
表示がロックするだけで、インジケーターはうまくロックしない
ようでした。(ステップ実行で確認。)
対処方法をご存知の方、ご教示よろしくお願いいたします。
お礼
丁寧な回答ありがとうございます。このような方法で回避できる という記載(検証)をしていただいたのは、他でも余り見かけず、 質問に対する、原因と対策が明確に解決し、すっきりしました。 DoCmd.OpenQueryの後ろに、“acViewNomal.acEdit”がついていたので 消去(もともと必要かわかりませんが)する必要があったのと、 CurrentDb.Executeの処理対象がテーブル作成クエリで、作成対象 クエリが既存の場合に、エラーが出るようです。(何かパラメータ 等で上書きの指定をするようでしょうか。)後はご回答いただいた もので期待した動作を確認しました。 参考のVBA部分を組み込むと、エラー処理の場合を無難?にスルー してしまうので、もう一度システムのコードを見ながら組み込みを 検討してみます。 ネットの記載を見ると、CurrentDb.Executeは同期処理なので、 理屈上動作速度がacViewNomal.acEdit(非同期)より遅くなるはず だが、実際は大して変わらない、とありました。特段利用上気にする 必要もなさそうですね。 会社では書き込みが出来ない環境なので、回答が遅くなり失礼いたしました。 今後のご活躍を期待しております。