Compartir a través de


AbrirFormulario (acción de macro)

Se aplica a: Access 2013, Office 2013

Puede usar la acción AbrirFormulario para abrir un formulario en la vista Formulario, Diseño, Vista preliminar u Hoja de datos. Puede seleccionar los modos de entrada de datos y ventana para el formulario y restringir los registros que se muestra en él.

Configuración

La acción AbrirFormulario incluye estos argumentos.

Argumento de la acción

Descripción

Nombre de formulario

El nombre del formulario que se va a abrir. El cuadro Nombre de formulario en la sección Argumentos de acción del panel Generador de macros muestra todos los formularios en la base de datos actual. Este es un argumento obligatorio. Si ejecuta una macro que contiene la acción AbrirFormulario en una base de datos de biblioteca, Microsoft Access busca primero el formulario con este nombre en la base de datos de biblioteca y, luego, en la base de datos actual.

Vista

Vista en la que se abrirá el formulario. Haga clic en Formulario, Diseño, Vista preliminar, Hoja de datos, Tabla dinámica o Gráfico dinámico en el cuadro Vista. El valor predeterminado es Formulario.

NOTA: La configuración del argumento View invalida la configuración de las propiedades DefaultView y ViewsAllowed del formulario. For example, if a form's ViewsAllowed property is set to Datasheet, you can still use the OpenForm action to open the form in Form view.

Nombre de filtro

Filtro que restringe u ordena los registros del formulario. Puede escribir el nombre de una consulta existente o un filtro que se haya guardado como consulta. Sin embargo, la consulta debe incluir todos los campos en el formulario que va a abrir o tener la propiedad OutputAllFields establecida en .

Condición WHERE

Cláusula WHERE de SQL válida (sin la palabra WHERE) o expresión que Access usa para seleccionar registros de la consulta o tabla subyacente del formulario. Si selecciona un filtro con el argumento Nombre de filtro, Access aplica esta cláusula WHERE a los resultados del filtro. Para abrir un formulario y restringir sus registros a los especificados por el valor de un control en otro formulario, use la siguiente expresión: [fieldname] = Forms![formname]! [controlname en otro formulario] Reemplace fieldname por el nombre de un campo de la tabla o consulta subyacente del formulario que desea abrir. Reemplace nombreDeFormulario y nombre de control en otro formulario con el nombre del otro formulario y el control del otro formulario que contiene el valor con el que desea que coincidan los registros del primer formulario.

NOTA: La longitud máxima del argumento Where Condition es de 255 caracteres. If you need to enter a more complex SQL WHERE clause longer than this, use the OpenForm method of the DoCmd object in a Visual Basic for Applications (VBA) module instead. You can enter SQL WHERE clause statements of up to 32,768 characters in VBA.

Modo de datos

Modo de entrada de datos para el formulario. Esto se aplica solo a los formularios abiertos en la vista Formulario o la vista Hoja de datos. Haga clic en Agregar (el usuario puede agregar nuevos registros, pero no puede editar registros existentes), Editar (el usuario puede editar registros existentes y agregar nuevos registros), o Solo lectura (el usuario solo puede ver registros). El valor predeterminado es Editar. Notas

  • La configuración del argumento Modo de datos invalida la configuración de las propiedades AllowEdits, AllowDeletions, AllowAdditions y DataEntry del formulario. Por ejemplo, si la propiedad AllowEdits de un formulario se establece en No, aún puede usar la acción AbrirFormulario para abrir el formulario en modo Edición.

  • Si deja este argumento en blanco, Access abre el formulario en el modo de entrada de datos establecido por las propiedades AllowEdits, AllowDeletions, AllowAdditions y DataEntry.

Modo de ventana

Modo de ventana en el que se abre el formulario. Haga clic en Normal (el formulario se abre en el modo establecido por sus propiedades), Oculto (el formulario se oculta), Icono (el formulario se abre minimizado como una pequeña barra de título en la parte inferior de la pantalla) o Diálogo (las propiedades Modal y Emergente del formulario se establecen en ). El valor predeterminado es Normal.

NOTA: Algunas opciones de configuración de argumentos del Modo de ventana no se aplican al usar documentos con pestañas. Para cambiar a ventanas superpuestas:

  1. Haga clic en la pestaña Archivo y, a continuación, haga clic en Opciones.

  2. En el cuadro de diálogo Opciones de Access, haga clic en Base de datos actual.

  3. En la sección Opciones de la aplicación, en Opciones de ventana de documento, haga clic en Ventanas superpuestas.

  4. Haga clic en Aceptar y, a continuación, cierre y vuelva a abrir la base de datos.

Comentarios

Esta acción es similar a la de hacer doble clic en un formulario en el panel de navegación o la de hacer clic con el botón derecho en el formulario del panel de navegación y después seleccionar una vista.

Un formulario puede ser modal (se debe cerrar u ocultar para que el usuario pueda realizar cualquier otra acción) o sin modo (el usuario se puede mover a otra ventana mientras se abre el formulario). También puede ser un formulario emergente (un formulario utilizado para recopilar o mostrar información que permanece en la parte superior de todas las demás ventanas de Access). Establezca las propiedades Modal y PopUp cuando diseñe el formulario. Si usa Normal para el argumento Modo de ventana, el formulario se abre en el modo especificado por esta configuración de propiedad. Si usa Diálogo para el argumento Modo de ventana, ambas propiedades se establecen en . Un formulario abierto como oculto o como icono se devuelve al modo especificado por su propiedad cuando se muestra o se restaura.

Al abrir un formulario con el argumento Modo de ventana establecido en Diálogo, Access suspende la macro hasta que el formulario se cierra u oculta. Puede ocultar un formulario estableciendo su propiedad Visible en No mediante la acción ConfigurarValor.

Sugerencia

[!SUGERENCIA] Puede seleccionar un formulario en el panel de navegación y arrastrarlo a una fila de acción de macro. Esto crea automáticamente una acción AbrirFormulario que abre el formulario en vista Formulario.

El filtro y la condición WHERE que se aplican se convierten en los valores de la propiedad Filter del formulario.

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

Cerrar 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.

La siguiente macro abre la lista de productos en la esquina inferior derecha del formulario Proveedores y muestra los productos del proveedor actual. Muestra el uso de las acciones Eco, CuadroDeMensajes, IrAControl, DetenerMacro, AbrirFormulario y MoverYCambiarTamañoDeVentana. También muestra el uso de una expresión condicional con las acciones CuadroDeMensajes, IrAControl y DetenerMacro. Esta macro se debe adjuntar al botón Revisar productos del formulario Proveedores.

Sincronizar los formularios con una macro

Condición

Acción

Argumentos: Configuración

Comentario

Echo

Eco activo: No

Detener la actualización de la pantalla mientras se ejecuta la macro.

IsNull([SupplierID])

MessageBox

Mensaje: Mueva al registro de proveedores los productos que quiera ver y haga clic en el botón Revisar productos de nuevo. Pitido: SíType: NoneTitle: Seleccionar un proveedor

Si no hay ningún proveedor actual en el formulario Proveedores, mostrar un mensaje.

...

GoToControl

Nombre del control: NombreDeEmpresa

Mover el foco al control NombreDeEmpresa.

...

StopMacro

Detener la macro.

OpenForm

Nombre del formulario: Vista de lista de productos: DatasheetFilter Nombre: Where Condition: [SupplierID] = [Forms]! [Proveedores]! [SupplierID] Modo de datos: Solo lectura Modo de windows: Normal

Abrir el formulario Lista de productos y mostrar los productos del proveedor actual.

MoveAndSizeWindow

Derecha: 0,7799" Abajo: 1,8"

Coloque el formulario Lista de productos en la esquina inferior derecha del formulario Proveedores.