Método Form. SetFocus (Access)Form.SetFocus method (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.The SetFocus method moves the focus to the specified form, the specified control on the active form, or the specified field on the active datasheet.

SintaxisSyntax

expresión. SetFocusexpression.SetFocus

expresión Variable que representa un objeto Form.expression A variable that represents a Form object.

ObservacionesRemarks

Puede usar el método SetFocus cuando quiera que un campo o control determinado tenga el foco para que la entrada del usuario se dirija a este objeto.You can use the SetFocus method when you want a particular field or control to have the focus so that all user input is directed to this object.

Para leer algunas de las propiedades de un control, debe asegurarse de que el control tiene el foco.To read some of the properties of a control, you need to ensure that the control has the focus. Por ejemplo, un cuadro de texto debe tener el enfoque para poder leer su propiedad Text.For example, a text box must have the focus before you can read its Text property.

Otras propiedades pueden establecerse sólo cuando un control no tiene el foco.Other properties can be set only when a control doesn't have the focus. Por ejemplo, no se puede establecer las propiedades Visible o Enabled de un control en False (0) si ese control tiene el enfoque.For example, you can't set a control's Visible or Enabled properties to False (0) when that control has the focus.

También puede usar el método SetFocus para desplazarse por un formulario según ciertas condiciones.You can also use the SetFocus method to navigate in a form according to certain conditions. 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.For example, if the user selects Not applicable for the first of a set of questions on a form that's a questionnaire, your Visual Basic code might then automatically skip the questions in that set and move the focus to the first control in the next set of questions.

Puede mover el enfoque sólo a un control o formulario visibles.You can move the focus only to a visible control or form. Un formulario y controles de un formulario no están visibles hasta que haya terminado el evento Load del formulario.A form and controls on a form aren't visible until the form's Load event has finished. 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.Therefore, if you use the SetFocus method in a form's Load event to move the focus to that form, you must use the Repaint method before the SetFocus method.

No se puede mover el enfoque a un control si su propiedad Enabled se establece en False.You can't move the focus to a control if its Enabled property is set to False. Debe establecer la propiedad Enabled de un control en true (1) para poder desplazar el enfoque a ese control.You must set a control's Enabled property to True (1) before you can move the focus to that control. Sin embargo, puede mover el enfoque a un control si su propiedad Locked está establecida en True.You can, however, move the focus to a control if its Locked property is set to 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.If a form contains controls for which the Enabled property is set to True, you can't move the focus to the form itself. Solo se puede mover el foco a los controles del formulario.You can only move the focus to controls on the form. En este caso, si intenta usar SetFocus para desplazar el enfoque a un formulario, se establece el foco en el control del formulario que recibió el enfoque por última vez.In this case, if you try to use SetFocus to move the focus to a form, the focus is set to the control on the form that last received the focus.

Puede usar el método SetFocus para desplazar el enfoque a un subformulario, que es un tipo de control.You can use the SetFocus method to move the focus to a subform, which is a type of 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.You can also move the focus to a control on a subform by using the SetFocus method twice, moving the focus first to the subform and then to the control on the subform.

EjemploExample

En el siguiente ejemplo, se usa el método SetFocus para desplazar el enfoque a un cuadro de texto EmployeeID de un formulario Employees .The following example uses the SetFocus method to move the focus to an EmployeeID text box on an Employees form.

Forms!Employees!EmployeeID.SetFocus

Soporte técnico y comentariosSupport and feedback

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación?Have questions or feedback about Office VBA or this documentation? 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.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.