Cuando desee crear una consulta en Access para pedir valores cada vez que la ejecute, puede crear una consulta de parámetros.
También puede crear un formulario para recoger valores de parámetros que se usarán para restringir los registros devueltos para consultas, formularios o informes. Este artículo explica cómo usar formularios para mejorar el uso de parámetros en consultas, formularios e informes.
En este artículo
Información general
Puede usar criterios en una consulta de parámetros en Access para restringir el conjunto de registros que devuelve la consulta. Puede que los cuadros de diálogo que se proporcionan en una consulta de parámetros no sean suficientes para sus propósitos. En estos casos, puede crear un formulario que se ajuste mejor a sus necesidades de recolección de parámetros. Este artículo explica cómo crear un formulario que recopile parámetros de consulta e informe. Este artículo asume que está familiarizado con la creación de consultas y la definición de parámetros en consultas. Como mínimo, debe estar familiarizado con la creación de una consulta de selección antes de continuar.
Este artículo proporciona ejemplos de uso de parámetros en consultas. No proporciona una referencia completa para especificar criterios.
-
Para obtener más información sobre cómo crear consultas de selección, vea el artículo Crear una consulta de selección simple.
-
Para obtener más información general sobre las consultas, vea el artículo Introducción a las consultas.
-
Para obtener más información que defina parámetros en consultas, vea el artículo Usar parámetros para solicitar información al iniciar una consulta.
-
Para obtener más información sobre cómo especificar criterios en consultas, consulte el artículo Ejemplos de criterios de consulta.
Usar parámetros en consultas
Usar un parámetro en una consulta es tan sencillo como crear una consulta que utilice criterios. Se puede diseñar una consulta para solicitar un dato (por ejemplo, un número de referencia) o varios datos (por ejemplo, dos fechas). Con cada parámetro, una consulta muestra un cuadro de diálogo independiente en el que se solicita un valor para el parámetro.
Agregar un parámetro a una consulta
-
Cree una consulta de selección y, a continuación, abra la consulta en la vista Diseño.
-
En la fila Criterios de un campo en el que quiere aplicar un parámetro, escriba el texto que desee mostrar en el cuadro de diálogo del parámetro entre dos corchetes. Por ejemplo:
[Fecha de inicio]
Cuando inicie la consulta de parámetro, el indicador aparecerá en un cuadro de diálogo sin los corchetes.
También puede usar una expresión con los indicadores de parámetro. Por ejemplo:
Entre [Fecha de inicio] y [Fecha de finalización]
Nota: Aparece un cuadro de diálogo independiente para cada indicador de parámetro. En el segundo ejemplo, aparecen dos cuadros de diálogo: uno para la fecha de inicio y otro para la fecha de finalización.
-
Repita el paso 2 para cada campo en el que desee agregar parámetros.
Puede usar los pasos anteriores para agregar un parámetro a alguno de los siguientes tipos de consulta: Seleccionar, General, Anexar, Crear tabla o Actualizar.
También puede agregar un parámetro a una consulta de unión siguiendo estos pasos:
-
Abra la consulta de unión en la vista SQL.
-
Agregue una cláusula WHERE que contenga los campos que desea solicitar de un parámetro.
Si ya existe una cláusula WHERE, compruebe si los campos para los que desea usar el indicador de parámetro ya se encuentran en la cláusula y, si no, agréguelos.
-
En lugar de usar un criterio en la cláusula WHERE, use un indicador de parámetro.
Especificar los tipos de datos de los parámetros
También puede especificar qué tipo de datos debe aceptar un parámetro. Puede especificar el tipo de datos de cualquier parámetro, pero es especialmente importante especificar el tipo de datos en los datos numéricos, de moneda o de fecha y hora. Cuando se especifica el tipo de datos que debe aceptar un parámetro, los usuarios ven un mensaje de error más específico si facilitan un tipo de datos equivocado como, por ejemplo, texto cuando se espera moneda.
Nota: Si se configura un parámetro para que acepte datos de texto, cualquier entrada se interpretará como texto y no se mostrará ningún mensaje de error.
Para especificar el tipo de datos de los parámetros de una consulta, siga los pasos siguientes:
-
Con la consulta abierta en la vista Diseño, en la pestaña Diseño, en el grupo Mostrar u ocultar, haga clic en Parámetros.
-
En el cuadro de diálogo Parámetros de la consulta, en la columna Parámetro, escriba la petición de cada parámetro para el que quiera especificar el tipo de datos. Asegúrese de que cada parámetro coincida con la petición que usa en la fila Criterios de la cuadrícula de diseño de la consulta.
-
En la columna Tipo de datos, seleccione el tipo de datos de cada parámetro.
Crear un formulario que recopile parámetros
Aunque las consultas de parámetros contienen un cuadro de diálogo integrado que recopila parámetros, ofrecen solo funcionalidad básica. Mediante un formulario para recopilar parámetros, puede obtener las siguientes características:
-
La posibilidad de usar controles de específicos de tipo de datos, como controles de calendario para las fechas.
-
Conservación de los parámetros recopilados, por lo que puede usarlos con más de una consulta.
-
La capacidad para proporcionar un cuadro combinado o cuadro de lista para la recolección de parámetros, que le permite elegir entre una lista de valores de datos disponibles.
-
La capacidad de proporcionar controles de otras funciones, como abrir o actualizar una consulta.
El siguiente vídeo muestra cómo crear un formulario simple para recopilar los parámetros de una consulta en lugar de usar los cuadros de diálogo que normalmente se asocian con las consultas de parámetros.
Crear un formulario que recopile parámetros para un informe
Puede enfocar este escenario de varias maneras, pero le mostraremos una sola técnica que utiliza principalmente macros. Siga los pasos siguientes para crear un formulario que recopile parámetros para un informe.
-
Paso 2: Crear un módulo de código para comprobar si el formulario de parámetros ya se ha cargado
-
Paso 3: Crear una macro que controle el formulario e informe
-
Paso 4: Agregar botones de comando Aceptar y Cancelar al formulario
-
Paso 5: Usar los datos del formulario como criterios de consulta
-
Paso 6: Agregar las acciones de macro a los eventos de informe
Paso 1: Crear un formulario que acepte valores
-
En el grupo Formularios de la pestaña Crear, haga clic en Diseño del formulario.
-
En la vista Diseño, presione F4 para mostrar la hoja de propiedades y, a continuación, especifique las propiedades del formulario, como se muestra en la tabla siguiente.
Propiedad
Configuración
Título
Escriba el nombre que desea que aparezca en la barra de título del formulario.
Vista predeterminada
Un único formulario
Permitir vista Formulario
Sí
Permitir vista Hoja de datos
No
Permitir vista Tabla dinámica
No
Permitir vista Gráfico dinámico
No
Barras de desplazamiento
Ninguna
Selectores de registro
No
Botones de navegación
No
Estilo de borde
Cuadro de diálogo
-
Para cada parámetro que desee que recopile el formulario, haga clic en el cuadro de texto del grupo Controles en la pestaña Diseño.
-
Configure las propiedades de los cuadros de texto como se muestra en la tabla siguiente.
Propiedad
Configuración
Nombre
Escriba un nombre que describa el parámetro, por ejemplo, FechaDeInicio.
Formato
Elija un formato que refleje el tipo de datos del campo de parámetro. Por ejemplo, seleccione Fecha general para un campo de fecha.
-
Guarde el formulario y asígnele un nombre, como frmCriteria.
Paso 2: Crear un módulo de código para comprobar si el formulario de parámetros ya se ha cargado
-
En la pestaña Crear del grupo Macros y código, haga clic en Módulo.
Un nuevo módulo se abre en el Editor de Visual Basic.
-
Escriba o pegue el siguiente código en el Editor de Visual Basic:
Function IsLoaded(ByVal strFormName As String) As Boolean Dim oAccessObject As AccessObject Set oAccessObject = CurrentProject.AllForms(strFormName) If oAccessObject.IsLoaded Then If oAccessObject.CurrentView <> acCurViewDesign Then IsLoaded = True End If End If End Function
-
Guarde el módulo con un nombre único y, a continuación, cierre el Editor de Visual Basic.
Paso 3: Crear una macro que controle el formulario e informe
Con las características de submacro de las macros de Access, podemos definir todos los pasos necesarios en una única macro. Deberá crear cuatro submacros (Abrir cuadro de diálogo, Cerrar cuadro de diálogo, Aceptar y Cancelar) para controlar las diversas tareas necesarias para este procedimiento. Con la captura de pantalla a continuación como guía, cree una nueva macro con las siguientes submacros y las acciones. Para este ejemplo, observe que el formulario de parámetro se denomina frmCriteria. Ajuste la macro para que coincida con el nombre del formulario que creó anteriormente. También deberá hacer clic en Mostrar todas las acciones en la pestaña Diseño para poder ver todas las acciones de macro.
Guarde y cierre la macro. Dé un nombre a la macro, por ejemplo, Macro de intervalo de fecha.
Paso 4: Agregar botones de comando Aceptar y Cancelar al formulario
-
Abra el formulario de parámetro que creó anteriormente en la vista Diseño.
-
Asegúrese de que Utilizar Asistentes para controles, en el grupo Controles de la pestaña Diseño, no está seleccionado.
-
En el grupo Controles de la pestaña Diseño, haga clic en Botón.
-
Sitúe el puntero debajo de los cuadros de texto en el formulario y a continuación, arrastre para crear un botón de comando Aceptar.
-
Si la hoja de propiedades no está visible, presione F4 para mostrarla.
-
Configure las propiedades del botón Aceptar como se muestra en la tabla siguiente.
Propiedad
Configuración
Nombre
OK
Descripción
OK
Predeterminado
Sí
OnClick
Escriba un nombre para la macro, por ejemplo, Macro de intervalo de fecha.Aceptar.
-
Cree un botón de comando Cancelar y establezca sus propiedades como se muestra en la tabla siguiente.
Propiedad
Configuración
Nombre
Cancelar
Descripción
Cancelar
OnClick
Escriba el nombre de la macro, por ejemplo, Macro de intervalo de fecha.Cancelar.
-
Guarde y cierre el formulario.
Paso 5: Usar los datos del formulario como criterios de consulta
-
Abra la consulta que creó anteriormente en la vista Diseño.
-
Escriba los criterios para los datos. Use el objeto Formularios, el nombre del formulario y el nombre de la control:
-
Por ejemplo, en una base de datos Access (.accdb o .mdb), para un formulario llamado frmCriteria, use la siguiente expresión para hacer referencia en la consulta a los controles con los nombres de Fecha de inicio y Fecha de finalización:
Entre [Formularios]![frmCriteria]![Fecha de inicio] y [formularios]![frmCriteria]![Fecha de finalización]
-
Paso 6: Agregar las acciones de macro a los eventos de informe
-
Abra el informe que desee usar en la vista Diseño.
-
Si la hoja de propiedades no está visible, presione F4 para mostrarla.
-
Asegúrese de que la propiedad del informe Origen de registros usa la consulta de parámetros definida anteriormente.
-
Establezca estas dos propiedades de informe adicionales como se muestra en la tabla siguiente.
Propiedad
Configuración
OnOpen
Escriba un nombre para la macro, por ejemplo, Macro de intervalo de fecha.Abrir cuadro de diálogo.
OnClose
Escriba un nombre para la macro, por ejemplo, Macro de intervalo de fecha.Cerrar cuadro de diálogo.
En el evento Abrir del informe, Access ejecutará las acciones definidas en la submacro Abrir cuadro de diálogo del objeto Macro de intervalo de fecha. De forma parecida, al cerrar el informe, Access ejecutará las acciones definidas en la submacro Cerrar cuadro de diálogo del objeto Macro de intervalo de fecha.
-
Guarde y cierre el informe.
Paso 7: Probarlo
Ahora que ya ha creado todos los objetos de Access, es el momento para probarlos. Abra el informe en Vista Informes o Vista preliminar y observe que antes de que Access muestre el informe, el formulario de parámetro se abre en modo de cuadro de diálogo. Escriba los criterios necesarios en los cuadros de texto que ha creado anteriormente y, a continuación, haga clic en el botón de comando Aceptar del formulario. Access oculta, a continuación, el formulario (Visible = No) y abre el informe solo con los datos que coinciden con los criterios. Esto funciona porque la consulta de parámetros en la que se basa el informe puede leer los valores de los controles del formulario oculto. Cuando cierre el informe, Access también cierra el formulario de parámetros.