Método Form.SetFocus (Access)

El método SetFocus pone el foco en el formulario especificado, el control especificado del formulario activo o el campo especificado de la hoja de datos activa.

Sintaxis

expresión. Setfocus

expresión Variable que representa un objeto Form.

Comentarios

Use el método SetFocus cuando desee que un campo o control determinado tenga el foco para que toda la entrada del usuario se dirija a este objeto.

Para leer algunas de las propiedades de un control, debe asegurarse de que el control tiene el foco. Por ejemplo, un cuadro de texto debe tener el enfoque para poder leer su propiedad Text.

Otras propiedades pueden establecerse sólo cuando un control no tiene el foco. Por ejemplo, no se puede establecer las propiedades Visible o Enabled de un control en False (0) si ese control tiene el enfoque.

También puede usar el método SetFocus para desplazarse por un formulario según ciertas condiciones. Por ejemplo, si el usuario selecciona No aplicable para el primer conjunto de preguntas en un formulario que es un cuestionario, el código de Visual Basic podría saltar automáticamente ese conjunto y desplazar el foco al primer control del siguiente conjunto de preguntas.

Puede mover el enfoque sólo a un control o formulario visibles. Un formulario y controles de un formulario no están visibles hasta que haya terminado el evento Load del formulario. Por lo tanto, si usa el método SetFocus en el evento Load de un formulario para desplazar el enfoque a ese formulario, debe usar el método Repaint antes del método SetFocus.

No se puede mover el enfoque a un control si su propiedad Enabled se establece en False. Debe establecer la propiedad Enabled de un control en True (1) para poder mover el foco a ese control. Sin embargo, puede mover el enfoque a un control si su propiedad Locked está establecida en True.

Si un formulario contiene controles para la que se establece la propiedad Enabled en True, no se puede mover el enfoque al propio formulario. Solo se puede mover el foco a los controles del formulario. En este caso, si se intenta usar SetFocus para mover el foco a un formulario, el foco se establece en el control del formulario que recibió el foco en último lugar.

Use el método SetFocus para mover el foco a un subformulario, que es un tipo de control. También puede desplazar el foco a un control de un subformulario usando dos veces el método SetFocus, primero para desplazar el foco al subformulario y después al control del subformulario.

Ejemplo:

En el ejemplo siguiente se usa el método SetFocus para mover el foco a un cuadro de texto EmployeeID en un formulario Employees .

Forms!Employees!EmployeeID.SetFocus

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.