Usar parámetros en consultas e informes

Importante:  Este artículo se ha traducido con traducción automática; vea la declinación de responsabilidades. Para su referencia, puede encontrar la versión en inglés de este artículo aquí.

Si desea que una consulta para solicitar información cada vez que se ejecute, puede crear un consulta de parámetros.

También puede crear un formulario para recopilar valores de parámetro. Con un formulario puede:

  • Usar controles específicos de tipo de datos

  • Habilitar la persistencia de los valores de parámetro

  • Proporcionar controles de cuadro combinado (para que pueda elegir un valor de una lista en lugar de escribirlo)

  • Usar otros controles que están disponibles en formularios

En este artículo se proporciona información general sobre parámetros, se explica cómo usar parámetros en consultas y también cómo usar formularios para mejorar el uso de parámetros.

En este artículo:

Información general

Usar parámetros en consultas

Especificar los tipos de datos de los parámetros

Crear un formulario que recopile parámetros

Información general

Puede usar criterios en una consulta en Access para limitar el conjunto de registros que la consulta va a devolver. Consideremos el siguiente caso.

Supongamos que tiene una consulta denominada Último pedido, que devuelve los nombres y las direcciones de sus clientes junto con la fecha en la que envió su último pedido. Acaba de agregar algunos productos nuevos e interesantes al inventario y al catálogo. Cada vez que envía un pedido, incluye una copia del actual catálogo. Prevé que los nuevos productos van a tener mucho éxito y desea asegurarse de que todos los clientes los conocen. Desea enviar un nuevo catálogo a todos los clientes que aún no lo hayan recibido junto con un pedido.

Por este motivo, desea crear una lista de correo con los nombres y las direcciones de los clientes cuyo último pedido se envió antes de publicarse el nuevo catálogo. Para ello, aplica un criterio al campo de fecha de envío de la consulta Último pedido. El criterio especifica que la fecha que figura en ese campo debe ser anterior a la fecha en la que se inició la distribución del nuevo catálogo, por ejemplo, 31/3/2006. Cuando ejecute la consulta, obtendrá una lista de correo que contiene únicamente los clientes que no han recibido el nuevo catálogo.

Pero, ¿qué sucede si vuelve a producirse esta situación? Podría modificar el diseño de la consulta cambiando el valor especificado por el criterio pero, ¿no sería conveniente si la consulta pudiera solicitar una fecha y usar esa fecha para decidir qué clientes se van a incluir en la lista de correo? Para ello, deberá usar un tipo especial de criterio denominado parámetro.

Puede que los cuadros de diálogo proporcionados por una consulta de parámetros sean insuficientes para sus objetivos. En esos casos, puede crear un formulario que se ajuste mejor a sus necesidades de recopilación de parámetros. En este artículo se explica cómo crear un formulario que recopile parámetros de informe.

En este artículo se supone que está familiarizado con la creación de consultas. Como mínimo, debe estar familiarizado con la creación de una consulta de selección antes de continuar.

Para obtener más información sobre cómo crear una consulta de selección, vea el artículo Seleccione datos mediante una consulta. Para obtener más información acerca de las consultas en general, vea el artículo Introducción a las consultas.

Este artículo incluye ejemplos de cómo usar parámetros en las consultas. Sin embargo, no incluye una referencia exhaustiva para especificar criterios.

Para obtener más información sobre cómo especificar criterios, vea el artículo de ejemplos de criterios de consulta.

Parte superior de la página

Usar parámetros en consultas

Usar un parámetro en una consulta es tan fácil como crear una consulta que usa criterios. Puede diseñar una consulta de modo que solicite un solo dato, como un número de pieza, o varios datos, como dos fechas. Por cada parámetro, una consulta de parámetros muestra un cuadro de diálogo independiente en el que se solicita un valor para ese parámetro.

Agregar un parámetro a una consulta

  1. Cree una consulta de selección y, a continuación, abra la consulta en la vista Diseño.

  2. En la fila Criterios del campo al que desee aplicar un parámetro, escriba entre corchetes el texto que debe aparecer en el cuadro de diálogo del parámetro, por ejemplo:

    [Fecha de inicio]

    Cuando ejecute la consulta de parámetros, el mensaje aparecerá sin corchetes en un cuadro de diálogo.

    También puede usar una expresión con las solicitudes de parámetros, por ejemplo:

    Entre [fecha de comienzo] Y [Fecha de finalización]

    Nota: Aparece un cuadro de diálogo independiente para cada solicitud de parámetros. En el segundo ejemplo, aparecen dos cuadros de diálogo: uno para la fecha de inicio y uno para la fecha de finalización.

  3. Repita el paso 2 para cada campo al que desee agregar parámetros.

Puede usar los pasos anteriores para agregar un parámetro a cualquiera de los siguientes tipos de consultas:

  • Selección

  • Tabla de referencias cruzadas

  • Datos anexados

  • Creación de tabla

  • Actualización

También puede agregar un parámetro a una consulta de unión.

  1. Abra la consulta de unión en la vista SQL.

  2. Agregue una cláusula WHERE que contenga cada uno de los campos para los que desee solicitar un parámetro.

    Si ya existe una cláusula WHERE, compruebe si los campos para los que desee usar una solicitud de parámetros ya están incluidos en la cláusula. En caso contrario, agréguelos.

  3. En lugar de usar un criterio en la cláusula WHERE, use una solicitud de parámetros.

Hacer coincidir parte de un valor de campo con una cadena de parámetro

Es posible que quiera aplicar un poco de variabilidad en la forma en que la consulta aplica un parámetro. Por ejemplo, puede que desee que una consulta acepte una cadena de texto y la haga coincidir con parte de un campo. Para ello, use la palabra clave Como junto con caracteres comodín. Por ejemplo, desea que la consulta solicite un país o una región de origen, pero ningún valor coincidente siempre que el campo relevante la cadena de parámetro. Para ello:

  1. Cree una consulta de selección y, a continuación, abra la consulta en la vista Diseño.

  2. En la fila criterios del campo para los que desea aplicar el parámetro, escriba como "*" & [, escriba el texto que desee usar como indicador y, a continuación, escriba ] & "*".

    Cuando ejecute la consulta de parámetros, el mensaje aparecerá en el cuadro de diálogo sin corchetes y sin la palabra clave Como o los caracteres comodín.

  3. Cuando la consulta acepte el parámetro, coincidirá con los valores que contengan la cadena de parámetro. Por ejemplo, la cadena de parámetro us coincide con las filas donde el campo de parámetro tiene el valor Australia y filas donde el valor es Austria.

Puede usar asimismo la palabra clave Como y los caracteres comodín para especificar que un parámetro debe coincidir con el inicio o el final de un valor de campo. Para que coincida con el inicio de un valor de campo, omita las comillas, el carácter comodín y el carácter de y comercial (&) delante del corchete de apertura. Para que coincida con el final de un valor de campo, omita el carácter de y comercial, las comillas y el carácter comodín situados detrás del corchete de cierre.

Coincidencia basada en valores desiguales

Es posible que desee recopilar un parámetro, pero en lugar de la consulta devuelva filas con un valor coincidente, desea que la consulta devuelva filas para que otras comparaciones se evalúa como verdadero. Por ejemplo, desea solicitar un año y, a continuación, devolver las filas donde el valor de año es mayor que la cadena de parámetro. Para ello, escriba un operador de comparación a la izquierda del primer corchete del indicador de parámetro> [año:].

Parte superior de la página

Especificar tipos de datos de parámetros

También puede especificar qué tipo de datos debe aceptar un parámetro. Puede especificar el tipo de datos para cualquier parámetro, pero es especialmente importante especificar el tipo de datos para 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 útil si especifican un tipo de datos equivocado, 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 estos pasos:

  1. Con la consulta abierta en la vista Diseño, en la ficha Diseño, en el grupo Mostrar u ocultar, haga clic en Parámetros.

  2. En el cuadro de diálogo Parámetros de la consulta, en la columna Parámetro, escriba la solicitud de cada parámetro para el que desee especificar el tipo de datos. Asegúrese de que cada parámetro coincida con la solicitud que utiliza en la fila Criterios de la cuadrícula de diseño de la consulta.

  3. En la columna Tipo de datos, seleccione el tipo de datos para cada parámetro.

Parte superior de la página

Crear un formulario que recopile parámetros

Si bien las consultas de parámetros tienen un cuadro de diálogo integrado que recopila parámetros, sólo ofrecen una funcionalidad básica. Si usa un formulario para recopilar parámetros, podrá disponer de las siguientes características:

  • Posibilidad de usar controles específicos del tipo de datos, como controles de calendario para las fechas.

  • Persistencia de los parámetros recopilados, para que pueda usarlos con más de una consulta.

  • Posibilidad de proporcionar un cuadro combinado o cuadro de lista para la recopilación de parámetros, de modo que se puede elegir un valor en una lista de valores de datos disponibles

  • Posibilidad de proporcionar controles para otras funciones, como abrir o actualizar una consulta.

Siga estos pasos para crear un formulario que recopile parámetros.

Paso 1: Crear un formulario que acepte entradas

Paso 2: Crear un módulo para comprobar si el formulario de parámetros ya está cargado

Paso 3: Crear un grupo de macros que controle el formulario

Paso 4: Agregar botones de comando Aceptar y Cancelar al formulario

Paso 5: Usar los datos del formulario como criterios de consulta

Paso 1: Crear un formulario que acepte entradas

  1. En la ficha Crear, en el grupo Formularios, haga clic en Diseño de formularios.

  2. En la vista Diseño, presione F4 para que aparezca la hoja de propiedades y, a continuación, especifique las propiedades del formulario, tal como se muestra en la siguiente tabla.

Propiedad

Valor

Título

Escriba el nombre que debe aparecer en la barra de título del formulario.

Vista predeterminada

Un único formulario

Permitir vista Formulario

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 los bordes

Diálogo

  1. Por cada parámetro que va a recopilar el formulario, haga clic en Cuadro de texto en el grupo Controles de la ficha Diseño.

  2. Configure las propiedades de los cuadros de texto, tal y como se muestra en la tabla siguiente.

Propiedad

Valor

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.

  1. Guarde el formulario y asígnele un nombre, por ejemplo Intervalo de fechas.

Paso 2: Crear un módulo para comprobar si el formulario de parámetros ya está cargado

  1. En la ficha crear, en el grupo otros, haga clic en módulo. Si este comando no está disponible, haga clic en la flecha debajo de la Macro o el botón del Módulo de clase y, a continuación, haga clic en módulo.

    En el Editor de Visual Basic se abre un nuevo módulo.

  2. 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
  3. Guarde el módulo y, a continuación, cierre el Editor de Visual Basic.

Paso 3: Crear un grupo de macros que controle el formulario

  1. En el grupo Otros de la pestaña Crear, haga clic en Macro. Si el comando no está disponible, haga clic en la flecha que aparece bajo el botón MóduloMódulo de clase y luego haga clic en Macro.

  2. En el grupo Mostrar u ocultar de la ficha Diseño, haga clic en Mostrar todas las acciones.

  3. En la ficha Diseño, en el grupo Mostrar u ocultar, haga clic en Nombres de Macro para mostrar la columna Nombre de la Macro.

  4. Escriba un nombre de macro, como Cuadro de diálogo Abrir, en la columna Nombre de la macro.

  5. Haga clic en la celda de la columna Acción situada junto al nombre de la nueva macro, haga clic en la flecha desplegable y, a continuación, haga clic en AbrirFormulario.

  6. En la cuadrícula Argumentos de acción (que se encuentra debajo de la cuadrícula de diseño de macro), establezca los argumentos de acción, como se muestra en la tabla siguiente.

Argumento

Valor

Nombre del formulario

Escriba el nombre que le asignó al formulario de parámetros del informe.

Vista

Formulario

Modo de datos

Editar

Modo de la ventana

Diálogo

  1. En la siguiente celda Acción, haga clic en CancelarEvento para agregar una segunda acción. Se usa esta acción para cancelar la vista previa o la impresión del informe cuando un usuario hace clic en el botón Cancelar del formulario.

  2. Si no ve la columna Condición, haga clic en Condiciones del grupo Mostrar u ocultar en la ficha Diseño.

  3. En la columna condición, escriba Not IsLoaded, seguido de un paréntesis de apertura y unas comillas, seguido por el nombre que asignado al formulario de parámetros del informe y, a continuación, seguido de unas comillas y un paréntesis de cierre. Por ejemplo, si el formulario se denomina selector de parámetro, escriba Not IsLoaded("Selector de parámetro").

  4. En la siguiente fila en blanco de la cuadrícula de diseño de la macro, escriba un nombre de macro, como Cuadro de diálogo Cerrar.

  5. En la celda acción adyacente, haga clic en la flecha desplegable y, a continuación, haga clic en Cerrar. La consulta utilizará esta acción para cerrar el formulario de parámetros. Establezca sus argumentos de acción, como se muestra en la tabla siguiente.

Argumento

Valor

Tipo de objeto

Formulario

Nombre de objeto

Escriba el nombre que le asignó al formulario de parámetros del informe.

Guardar

No

  1. En la siguiente fila en blanco de la cuadrícula de diseño de la macro, escriba un nombre de macro, como Aceptar. En la celda Acción adyacente, haga clic en la flecha desplegable y, a continuación, haga clic en EstablecerValor. Se usa esta acción para ocultar el formulario de parámetros de informe cuando el usuario hace clic en Aceptar. Configure los argumentos de la acción, tal y como se muestra en la siguiente tabla.

Argumento

Valor

Elemento

[Visible]

Expresión

No

  1. En la siguiente fila en blanco de la cuadrícula de diseño de la macro, escriba un nombre de macro, como Cancelar. En la celda Acción adyacente, haga clic en la flecha desplegable y, a continuación, haga clic en Cerrar. Se usa esta acción para cerrar el formulario de parámetros de informe cuando el usuario hace clic en Cancelar. Configure los argumentos de la acción, tal y como se muestra en la siguiente tabla.

Argumento

Valor

Tipo de objeto

Formulario

Nombre de objeto

Escriba el nombre que le asignó al formulario de parámetros del informe.

Guardar

No

  1. Guarde y cierre el grupo de macros. Asigne un nombre, por ejemplo, la Macro del intervalo de fechaal grupo de macros.

Paso 4: Agregar botones de comando Aceptar y Cancelar al formulario

  1. Volver a abrir el formulario de intervalo de fechas en la vista Diseño.

  2. Asegúrese de que no esté seleccionada la opción Utilizar asistentes para controles en el grupo Controles de la ficha Diseño.

  3. En la ficha Diseño, en el grupo Controles, haga clic en Botón.

  4. Sitúe el puntero debajo de los cuadros de texto del formulario y, después, arrastre para crear un botón de comando Aceptar.

  5. Si la hoja de propiedades no está visible, presione F4 para mostrarla.

  6. Configure las propiedades del botón Aceptar, tal como se muestra en la tabla siguiente.

Propiedad

Valor

Nombre

Aceptar

Título

Aceptar

Predeterminado

AlHacerClic

Escriba el nombre de la macro, por ejemplo, fecha Range.OK.

  1. Cree un botón de comando Cancelar y configure sus propiedades, tal como se muestra en la tabla siguiente.

Propiedad

Valor

Nombre

Cancelar

Título

Cancelar

AlHacerClic

Escriba el nombre de la macro, por ejemplo, fecha Range.Cancel.

  1. Guarde y cierre el formulario.

Paso 5: Usar los datos del formulario como criterios de consulta

  1. Abra la consulta en la vista Diseño.

  2. Especifique los criterios para los datos. Use el objeto Forms , el nombre del formulario y el nombre de la control:

    • Por ejemplo, en una base de datos de Access (.accdb o .mdb), para un formulario denominado Intervalo de fechas, use la siguiente expresión para referirse a los controles denominados Fecha de inicio y Fecha de finalización en la consulta:

      Entre [Forms] ! [Intervalo de fechas]! [StartDate] y [Forms]! [Intervalo de fechas]! [EndDate]

Parte superior de la página

Nota: Declinación de responsabilidades de traducción automática: Este artículo se ha traducido con un sistema informático sin intervención humana. Microsoft ofrece estas traducciones automáticas para que los hablantes de otros idiomas distintos del inglés puedan disfrutar del contenido sobre los productos, los servicios y las tecnologías de Microsoft. Puesto que este artículo se ha traducido con traducción automática, es posible que contenga errores de vocabulario, sintaxis o gramática.

¿Le ha sido útil esta información?

¿Cómo podemos mejorarlo?

¿Cómo podemos mejorarlo?

Para proteger su privacidad, no incluya información de contacto en sus comentarios. Revisar política de privacidad.

¡Gracias por sus comentarios!