IrAControl (acción de macro)

Se aplica a
Access para Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Puede usar la acción de macro GoToControl en bases de datos de escritorio de Access y aplicaciones web de Access para mover el foco al campo o control especificado en el registro actual del formulario abierto, la hoja de datos de formulario, la hoja de datos de tabla o la hoja de datos de consulta. Puede usar esta acción cuando desee que un campo o control determinado tenga el foco. Este campo o control se puede usar para comparaciones o acciones de FindRecord . También puede usar esta acción para navegar en un formulario de acuerdo con ciertas condiciones. Por ejemplo, si el usuario escribe No en un control Casado de un formulario de seguro médico, el foco puede omitir automáticamente el control Nombre del cónyuge y pasar al siguiente control.

Configuración

La acción GoToControl tiene el siguiente argumento.

Argumento de la acción Descripción
Nombre del control Escriba el nombre del campo o control donde desea el foco. Este argumento es obligatorio.
Nota: Escriba solo el nombre del campo o control en el argumento Nombre del control , no el identificador completo, como [Forms]! [Productos]! [Product ID] si usa una base de datos de escritorio de Access.

Observaciones

No puede usar la acción de macro GoToControl para mover el foco a un control en un formulario oculto.

Recomendación

Puede usar la acción de macro GoToControl para desplazarse a un subformulario, que es un tipo de control. A continuación, puede usar la acción GoToRecord para desplazarse a un registro determinado en el subformulario. También puede desplazarse a un control de un subformulario mediante la acción GoToControl para desplazarse primero al subformulario y, después, al control del subformulario.

Para ejecutar la acción GoToControl en un módulo de Visual Basic para Aplicaciones (VBA), utilice el método GoToControl del objeto DoCmd . También puede usar el método SetFocus para mover el foco a un control de un formulario o a cualquiera de sus subformularios, o a un campo de una tabla, consulta u hoja de datos de formulario abierta.

Ejemplos

Establecer el valor de un control mediante una macro

La siguiente macro abre el formulario Agregar productos desde un botón en el formulario Proveedores. Muestra el uso de las acciones Echo, Close, OpenForm, SetValue y GoToControl . La acción EstablecerValor establece el control Id. de proveedor en el formulario Productos para el proveedor actual en el formulario Proveedores. Entonces, la acción de GoToControl mueve el foco al campo Id. de categoría, donde puede empezar a introducir datos para el nuevo producto. Esta macro se debe adjuntar al botón Agregar productos del formulario Proveedores.

Acción Argumentos: Configuración Comentario
Eco Eco encendido: No Detener la actualización de pantalla mientras se ejecuta la macro.
Cerrar Tipo de objeto: formulario
Nombre del objeto: Lista de productos
Guardar: No
Formulario Cerrar lista de productos.
OpenForm Nombre de formulario: Productos
Ver: Formulario
Modo de datos: Agregar
Modo de ventana: Normal
Abra el formulario Productos.
Valor establecido Objeto: [Formularios]! [Productos]! [Id. de proveedor]
Expresión: SupplierID
Establezca el control Id. de proveedor al proveedor actual en el formulario Proveedores.
GoToControl Nombre del control: CategoryID Vaya al control Id. de categoría.

Validar datos mediante una macro

La siguiente macro de validación comprueba los códigos postales especificados en un formulario de proveedores. Muestra el uso de las acciones StopMacro, MessageBox, CancelEvent y GoToControl . Una expresión condicional comprueba el país o región y el código postal especificados en un registro del formulario. Si el código postal no tiene el formato adecuado para el país o la región, la macro muestra un cuadro de mensaje y deja de guardar el registro. A continuación, la macro le devuelve al control Código postal, donde puede corregir el error. Esta macro se debe adjuntar a la propiedad BeforeUpdate del formulario Proveedores.

Condición Acción Argumentos: Configuración Comentario
If IsNull([CountryRegion]) StopMacro Si PaísRegión es nulo, el código postal no se puede validar.
If [CountryRegion] In ("Francia","Italia","España") And Len([Código postal]) <> 5 Cuadro de mensajes Mensaje: El código postal debe tener 5 caracteres.
Pitido:
Tipo: Información
Título: Error de código postal
Si el código postal no tiene 5 caracteres, muestra un mensaje.
CancelEvent Cancelar el evento.
GoToControl Nombre del control: PostalCode
If [CountryRegion] In ("Australia","Singapur") And Len([Código postal]) <> 4 Cuadro de mensajes Mensaje: El código postal debe tener 4 caracteres.
Pitido:
Tipo: Información
Título: Error de código postal
Si el código postal no tiene 4 caracteres, muestra un mensaje.
CancelEvent Cancelar el evento.
GoToControl Nombre del control: PostalCode
if ([PaísRegión] = "Canadá") Y ([Código postal] No como"[A-Z][0-9][A-Z] [0-9][A-Z][0-9]") Cuadro de mensajes Mensaje: El código postal no es válido. Ejemplo de código canadiense: H1J 1C3
Pitido:
Tipo: Información
Título: Error de código postal
Si el código postal no es correcto para Canadá, muestra un mensaje. (Ejemplo de código canadiense: H1J 1C3)
CancelEvent Cancelar el evento.