Accessの更新後処理で特定の条件を満たしている場合、フォーカスを移動させない方法
テキストボックスの更新後処理で下記のような記述をし、
テキストボックスに1が入力された場合、エラーメッセージを表示した上で、
フォーカスを一度ボタンに移動した後、テキストボックスに移動しております。
SetFocusを二回記述している理由ですが、
フォーカス移動を抑止する為に、Me.テキストボックス.SetFocus のみを記述した所、次の場所にフォーカスが移動してしまい、
下記のように書くと元の場所にフォーカスが戻ってくる為です。
フォーカス喪失時(Exit)の場合、Cancelを使用すればフォーカスの移動を抑止できたのですが、
更新後処理(AfterUpdate)でSetFocusを2回書く以外に
フォーカスを移動させない方法をご存知の方がいらっしゃいましたら
アドバイスいただければと思います。
★クラスモジュール
Private Sub テキストボックス_AfterUpdate()
Call CHECK_TEXT(Me, Me.テキストボックス.Value)
End Sub
★標準モジュール
Function CHECK_TEXT(MeForm As Form, text As String)
If text = 1 Then
MsgBox "エラー"
MeForm.ボタン.SetFocus
MeForm.テキストボックス.SetFocus
End If
End Function
以上、よろしくお願いします。
お礼
***.requestFocus()で解決です。 ありがとうございます。