質問: どこにもフォーカスを当てたくない フォームを開いたとき、どこにもフォーカスを当てたくないです。 アクセス2003です。 フォームにテキストボックスを1つ設置して、そのフォームを開くと フォーカスがテキストボックス上で、点滅しますが どこにもフォーカスを当てない方法あるのでしょうか? private sub form_open(cancel as integer) me.詳細.setfocus end sub とするとコンパイルエラーになってしまいます。 不可能でしょうか?よろしくお願い致します。
回答: > どこにもフォーカスを当てたくないです これを実現した後の操作はどのようになっていますか。 ・マウスを使ってターゲットをクリックして・・・ ・「enter」「tab」キーで移動したい・・・ 見た目で良いでしょうか。 簡単な方法では、透明なコマンドボタンを配置して、そこにフォーカスを移動します。 配置場所としては、クリックしなさそうな場所や、大きさを極小さくとか・・・ ・コマンドボタン「btndmy」を作成します。 ・プロパティを変更していきます。 「透明」を「はい」 「タブストップ」を「いいえ」、「タブ移動順」を先頭に form_open なり form_load で me.btndmy.setfocus を記述します。 「enter」キーが押された時に、あるところにフォーカスを動かしたければ、 そのボタンの「クリック時」に処理を記述すればよいと思います。 「tab」キーでは次に移動します。 非連結のフォームとか、帳票フォーム等でコマンドボタンが配置できれば上記で。 配置できないデータシート表示の場合は、レコードを選択してあげれば、 一ヶ所が強調されることはなくなります。 dim bfirst as boolean private sub form_load() bfirst = true end sub private sub form_current() if (bfirst) then docmd.runcommand accmdselectrecord bfirst = false end if end sub これはデータシート表示だけではなく、連結したフォームで使えるものになりますが、 次の操作でマウスで選んであげる動作が必要になります。 (「enter」「tab」キーでは選択レコードが変わるだけです) また、フォームの構成により使えない方法だったりと。 前者の方が良いと思いますが、参考にする/しない等々自己責任でお願いします。