Compartir a través de


Evento SubForm.Enter (Access)

El evento Enter se produce antes de que un control reciba realmente el enfoque de un control del mismo formulario o informe.

Sintaxis

expresión. Entrar

Expresión Variable que representa un objeto SubForm .

Comentarios

Este evento no se aplica a las casillas de verificación, a los botones de opción ni a los botones de alternancia de un grupo de opciones. Sólo se aplica al grupo de opciones en sí.

Para ejecutar una macro o procedimiento de evento cuando se produzcan estos eventos, establezca la propiedad OnEnter o OnExit en el nombre de la macro o en [procedimiento de evento].

Dado que el evento Enter se produce antes de que el enfoque se desplaza a un control determinado, puede usar un ENTRAR macro o procedimiento de evento para mostrar instrucciones. Por ejemplo, puede usar una macro o procedimiento de evento para mostrar un cuadro pequeño de formulario o un mensaje que identifica el tipo de datos que contiene normalmente el control o que dé instrucciones sobre cómo usar el control.

El evento Enter se produce antes del evento GotFocus. El evento Exit se produce antes del evento LostFocus.

A diferencia de los eventos GotFocus y LostFocus, los eventos Enter y Exit no se producen cuando un formulario recibe o pierde el enfoque. Por ejemplo, suponga que Active una casilla de verificación en un formulario y, a continuación, haga clic en un informe. Los eventos Enter y GotFocus se producen cuando se activa la casilla de verificación. El evento LostFocus es el único que se produce al hacer clic en el informe. El evento Exit no se produce (porque el enfoque se está trasladando a otra ventana). Si activa de nuevo la casilla de verificación del formulario para traerlo al frente, se producirá el evento GotFocus, pero no el evento Enter (porque el control tenía el enfoque la última vez que el formulario estuvo activo). El evento Exit se producirá cuando haga clic en otro control del formulario.

Si mueve el foco a un control de un formulario y ese control no tiene el foco en ese formulario, los eventos Exit y LostFocus del control que tiene el foco en el formulario se producen antes de los eventos Enter y GotFocus del control al que se ha movido.

Si usa el mouse para mover el enfoque de un control de un formulario principal a otro control de un subformulario del mismo (que no tenga ya el enfoque en el subformulario), se producirán los eventos siguientes:

  • Exit (para el control del formulario principal)
  • LostFocus (para el control del formulario principal)
  • Enter (para el control del subformulario)
  • Exit (para el control del subformulario que tenía el enfoque)
  • LostFocus (para el control del subformulario que tenía el enfoque)
  • Enter (para el control del subformulario al que se mueve el enfoque)
  • GotFocus (para el control del subformulario al que se mueve el enfoque)

Si el control al que se mueve en el subformulario tenía anteriormente el foco, no se produce ni su evento Enter ni su evento GotFocus , pero sí se produce el evento Enter para el control de subformulario. Si mueve el foco de un control de un subformulario a un control del formulario principal, los eventos Exit y LostFocus del control del subformulario no se producen, solo el evento Exit para el control de subformulario y los eventos Enter y GotFocus del control en el formulario principal.

Nota:

A menudo se usa el mouse o una tecla como Tab para mover el foco a otro control. Esto hace que se produzcan eventos de mouse o de teclado, además de los eventos abordados en este tema.

Ejemplo:

En el ejemplo siguiente, se adjuntan dos procedimientos de evento al cuadro de texto LastName . El procedimiento de evento Enter muestra un mensaje que especifica qué tipo de datos que el usuario puede escribir en el cuadro de texto. El procedimiento de evento Exit muestra un cuadro de diálogo que pregunta al usuario si desea guardar los cambios antes de desplazar el enfoque a otro control. Si el usuario hace clic en el botón Cancelar , el argumento Cancel se establece en True (1), que mueve el foco al cuadro de texto sin guardar los cambios. Si el usuario elige el botón Aceptar , los cambios se guardan y el foco se mueve a otro control.

Para probar el ejemplo, agregue el siguiente procedimiento de evento a un formulario que contenga un cuadro de texto denominado 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

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.