• 締切済み

VBAのGoToControl について

お世話になります。 フォームで値が入力されないで、フォーカスが移動したら メッセージを表示させ、そのテキストボックスに移動する というのを行いたいのですが表示させることは出来るのですが どうしても次のテキストボックスに移動してしまいます。 :この場合は次のテキストボックスに移動してしまいます DoCmd.GoToControl "テキスト1" :この場合だとForms!入力画面!物テキスト1という名前のフィールド はありませんとエラーになります。 DoCmd.GoToControl "Forms!入力画面!物テキスト1" 標準モジュールで記述し、テキスト1からフォーカスが離れるときに 呼び出しています。 よろしくお願い申し上げます。

みんなの回答

  • nattoku
  • ベストアンサー率100% (2/2)
回答No.2

当方、まったく同様の内容で悩んでおりました。 本件の「~という名前のフィールドはありません。」とエラーになる件は解決いたしませんが、  DoCmd.GoToControl "テキスト1" の代わりに、 SendKeys "+{TAB}" と入れることで、フォーカスの固定に成功しました。 参考になりましたら幸いです。

回答No.1

Access ですか? バージョンがわかりませんけど、 テキスト1の「フォーカス喪失時/Exit」イベントで Private Sub テキスト1_Exit(Cancel As Integer) If IsNull(テキスト1) Then MsgBox "入力してください", vbExclamation Cancel = True End If End Sub のようにすればよいと思います。

関連するQ&A