生じている問題
重い検索を行った際、検索結果を表示するフォームが他のフォームの裏に隠れてしまいます。
また、必ず発生するわけではなく同じ検索条件でも発生する場合としない場合があります。
検索結果が他のフォームの裏に隠れた際は、Accessのタイトルバーをクリックすることで
検索結果が前面に戻ってくるのですが、できれば回避したいと考えています。
###実現したいこと
必ず検索結果のフォームが最前面に表示されるようにしたいと考えています。
環境
Windows10 Pro
Access2019
検索結果を呼び出すコード:DoCmd.OpenForm "フォーム名"
検索結果を表示する画面のプロパティ
ポップアップ:はい
作業ウィンドウ固定:はい
境界線スタイル:サイズ調整可
試したこと
・境界線スタイルプロパティをダイアログに変更
・DoCmd.OpenFormでacDialogを指定(DoCmd.OpenForm "フォーム名", WindowMode:=acDialog)
・SetWindowPosを利用して検索結果のフォームを最前面に表示
追記(2019/12/13)
重い検索を行いある程度時間が経過(5秒以上?)した状態で、表示されている他のフォームをクリックするとAccessが(応答なし)の状態になり、そのまま検索完了を待っていると必ず他のフォームの背面に隠れてしまうことがわかりました。
また、検索中にAccessとは関係のない他の画面を表示していると背面に隠れることもわかりました。(こちらは必ずではありません)
何もクリックしていない場合も裏に隠れることがあるので役に立つかはわかりませんが、参考までに追記しておきます。
投稿時には記述しておりませんでしたが、画面に表示されているフォームは以下のようになっています。
・検索結果
・検索条件の指示画面
・指示画面を呼び出すフォーム
追記(2019/12/20)
本件では構造的な見直しを行い、処理速度を上げることでできるだけ応答なしにならないようようにするという対策を取ることにしました。
しかし、問題の根本的な解決には至っていないため、解答の募集は続けさせていただきます。
引き続き、何か原因がわかる方がおりましたよろしくお願いします。