- ベストアンサー
どこにもフォーカスを当てたくない
フォームを開いたとき、どこにもフォーカスを当てたくないです。 アクセス2003です。 フォームにテキストボックスを1つ設置して、そのフォームを開くと フォーカスがテキストボックス上で、点滅しますが どこにもフォーカスを当てない方法あるのでしょうか? Private Sub Form_Open(Cancel As Integer) Me.詳細.SetFocus End Sub とするとコンパイルエラーになってしまいます。 不可能でしょうか?よろしくお願い致します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
> どこにもフォーカスを当てたくないです これを実現した後の操作はどのようになっていますか。 ・マウスを使ってターゲットをクリックして・・・ ・「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」キーでは選択レコードが変わるだけです) また、フォームの構成により使えない方法だったりと。 前者の方が良いと思いますが、参考にする/しない等々自己責任でお願いします。
お礼
とても参考になりました。ありがとうございました。