Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a: Access 2013, Office 2013
Puede usar la acción GoToControl para mover el foco al campo o control especificado en el registro actual del formulario abierto, hoja de datos del formulario, hoja de datos de tabla o hoja de datos de consulta. Puede usar esta acción si desea que un campo o control concreto tenga el foco. Después, puede usar el campo o control para comparaciones o acciones FindRecord. También puede usar esta acción para desplazarse por un formulario según ciertas condiciones. Por ejemplo, si el usuario escribe No en un control Casado en un formulario de seguros de salud, el foco puede omitir automáticamente el control Nombre de cónyuge y pasar al siguiente control.
Configuración
Nota:
Esta acción no está disponible para su uso con páginas de acceso a datos.
La acción GoToControl tiene el siguiente argumento.
Argumento de la acción |
Descripción |
|---|---|
Nombre del control |
El nombre del campo o control donde desea el foco. Escriba el campo o el nombre del control en el cuadro Nombre de control de la sección Argumentos de acción del panel Generador de macros. 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! [Id. de producto]. |
Comentarios
No se puede usar la acción GoToControl para mover el foco a un control de un formulario oculto.
Sugerencia
Puede usar la acción GoToControl para moverse a un subformulario, que es un tipo de control. A continuación, puede usar la acción GoToRecord para moverse a un registro determinado en el subformulario. También puede moverse a un control de un subformulario mediante la acción GoToControl para moverse primero al subformulario y, a continuación, al control del subformulario.
Para ejecutar la acción GoToControl en un módulo de Visual Basic para Aplicaciones (VBA), use 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 de cualquiera de sus subformulario, o a un campo de una tabla, consulta o hoja de datos de formulario abierta.
Ejemplos
Configurar el valor de un control con una macro
La siguiente macro abre el formulario Agregar productos desde un botón del formulario Proveedores. Muestra el uso de las acciones Eco, CerrarVentana, AbrirFormulario, ConfigurarValor e IrAControl. La acción ConfigurarValor configura el control Id. de proveedor en el formulario Productos para el proveedor actual del formulario Proveedores. La acción IrAControl mueve el foco al campo Id. de categoría, donde puede empezar a introducir los datos para el nuevo producto. Esta macro se debe adjuntar al botón Agregar productos del formulario Proveedores.
Acción |
Argumentos: Configuración |
Comentario |
|---|---|---|
Echo |
Eco activo: No |
Detener la actualización de la pantalla mientras se ejecuta la macro. |
CloseWindow |
Tipo de objeto: ObjetoFormulario Nombre: Lista de productos Guardar: No |
Cierre el formulario lista de productos. |
OpenForm |
Formulario Nombre: Productos Vista: DatosDeFormulario: AgregarModo de ventana: Normal |
Abrir el formulario Productos. |
SetValue |
Elemento: [Forms]![Products]![SupplierID] Expresión: IdProveedor |
Configurar el control Id. de proveedor para el proveedor actual del formulario Proveedores. |
GoToControl |
Nombre del control: IdCategoría |
Ir al control Id. de categoría. |
Validar los datos con una macro
La siguiente macro de validación comprueba los códigos postales introducidos en el formulario Proveedores. Muestra el uso de las acciones DetenerMacro, CuadroDeMensajes, CancelarEvento e IrAControl. Una expresión condicional comprueba el país o la región y el código postal especificados en un registro del formulario. Si el código postal no tiene el formato correcto para el país o la región, la macro muestra un cuadro de mensaje y cancela el proceso 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 |
|---|---|---|---|
IsNull([CountryRegion]) |
StopMacro |
Si CountryRegion es Null, no se puede validar el código postal. |
|
[CountryRegion] En ("Francia", "Italia", "España") y Len([Código postal]) <> 5 |
MessageBox |
Mensaje: el código postal debe ser de 5 caracteres. Pitido: SíType: InformationTitle: Error de código postal |
Si el código postal no tiene 5 caracteres, muestre un mensaje. |
... |
CancelEvent |
Cancelar el evento. |
|
GoToControl |
Nombre del control: CódigoPostal |
||
[CountryRegion] En ("Australia", "Singapur") y Len([Código postal]) <> 4 |
MessageBox |
Mensaje: el código postal debe tener 4 caracteres. Pitido: SíType: InformationTitle: Error de código postal |
Si el código postal no tiene 4 caracteres, muestre un mensaje. |
... |
CancelEvent |
Cancelar el evento. |
|
GoToControl |
Nombre del control: CódigoPostal |
||
([PaísRegión] = "Canadá") Y ([CódigoPostal] No Como"[A-Z][0-9][A-Z] [0-9][A-Z][0-9]") |
MessageBox |
Mensaje: El código postal no es válido. Ejemplo de código canadiense: H1J 1C3 Beep: YesType: InformationTitle: Error de código postal |
Si el código postal no es correcto para Canadá, muestre un mensaje. (Ejemplo de código canadiense: H1J 1C3) |
... |
CancelEvent |
Cancelar el evento. |