CommandButton.Enter イベント (Access)
Enter イベントは、コントロールが同じフォームまたはレポートの他のコントロールから実際にフォーカスを受け取る前に発生します。
構文
式。入力
式CommandButton オブジェクトを表す変数。
注釈
このイベントは、オプション グループに含まれるチェック ボックス、オプション ボタン、およびトグル ボタンには適用されません。 オプション グループに対してのみ適用されます。
このイベントが発生したときに、マクロまたはイベント プロシージャを実行するには、" OnEnter /フォーカス取得時" プロパティまたは " OnExit /フォーカス喪失時" プロパティをマクロ名または "[Event Procedure]"/"[イベント プロシージャ]" に設定します。
Enter イベントは、フォーカスが特定のコントロールに移動する直前に発生するため、 Enter イベント マクロまたはイベント プロシージャを使ってメッセージなどを表示することができます。たとえば、コントロールに入力できるデータの種類を示したりコントロールの使い方を説明する、小さいフォームまたはメッセージ ボックスを表示することができます。
Enter イベントは、 GotFocus イベントの前に発生します。 Exit イベントは、 LostFocus イベントの直前に発生します。
Enter イベントおよび Exit イベントは、 GotFocus イベントや LostFocus イベントとは異なり、フォームがフォーカスを得たときや失ったときには発生しません。 たとえば、フォーム上のチェック ボックスをオンにした後、レポートをクリックする場合を考えます。 チェック ボックスをクリックしたときには、 Enter イベントと GotFocus イベントが発生します。 一方、レポートをクリックしたときには、 LostFocus イベントだけが発生します。 フォーカスが別のウィンドウに移動するので、 Exit イベントは発生しません。 再びフォームのチェック ボックスをクリックして前面に表示させると、 GotFocus イベントは発生しますが、 Enter イベントは発生しません (フォームが前回アクティブだったときにチェック ボックスにフォーカスが設定されていたことによる)。 Exit イベントは、フォーム上の他のコントロールをクリックしたときにのみ発生します。
フォーム上のコントロールにフォーカスを移動し、そのコントロールがそのフォームにフォーカスを置いていない場合、フォームにフォーカスがあるコントロールの Exit イベントと LostFocus イベントは、移動先のコントロールの Enter イベントと GotFocus イベントの前に発生します。
メイン フォームのコントロールにあるフォーカスを、マウスを使ってそのフォームのサブフォーム上のコントロール (サブフォーム上のコントロールを持っていないコントロール) へ移動すると、次のイベントが発生します。
- Exit (メイン フォームのコントロールに対して)
- LostFocus (メイン フォームのコントロールに対して)
- Enter (サブフォーム コントロールに対して)
- Exit (サブフォームでフォーカスを持っていたコントロールに対して)
- LostFocus (サブフォームでフォーカスを持っていたコントロールに対して)
- Enter (サブフォームのフォーカスの移動先のコントロールに対して)
- GotFocus (サブフォームのフォーカスの移動先のコントロールに対して)
以前にサブフォームの に移動したコントロールにフォーカスがあった場合、 その Enter イベントも GotFocus イベントも発生しませんが、サブフォーム コントロールの Enter イベントは発生します。 サブフォーム上のコントロールからメイン フォーム上のコントロールにフォーカスを移動した場合、サブフォームのコントロールの Exit イベントと LostFocus イベントは発生しません。サブフォーム コントロールの Exit イベントとメイン フォームのコントロールの Enter イベントと GotFocus イベントのみが発生します。
注:
多くの場合、マウスや Tab などのキーを使用して、フォーカスを別のコントロールに移動します。 この場合、このトピックで述べたイベントの他に、マウス イベントまたはキーボード イベントが発生します。
例
次の例では、 LastName テキスト ボックスに 2 つのイベント プロシージャがアタッチされています。 Enter イベント プロシージャでは、テキスト ボックスに入力できるデータの種類を指定するメッセージが表示されます。 Exit イベント プロシージャでは、別のコントロールにフォーカスする前に変更を保存する場合、ユーザーの移動を確認するダイアログ ボックスが表示されます。 ユーザーが [キャンセル ] ボタンをクリックすると、 Cancel 引数が True (1) に設定され、変更を保存せずにテキスト ボックスにフォーカスが移動します。 ユーザーが [OK] ボタンを選択すると、変更が保存され、フォーカスが別のコントロールに移動します。
この例を試すには、 LastName という名前のテキスト ボックスを含むフォームに次のイベント プロシージャを追加します。
Private Sub LastName_Enter()
MsgBox "Enter your last name."
End Sub
Private Sub LastName_Exit(Cancel As Integer)
Dim strMsg As String
strMsg = "You entered '" & Me!LastName _
& "' as your last name." & _
vbCrLf & "Is this correct?"
If MsgBox(strMsg, vbYesNo) = vbNo Then
Cancel = True ' Cancel exit.
Else
Exit Sub ' Save changes and exit.
End If
End Sub
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。