Вы находитесь на странице: 1из 9

Usar parmetros en consultas e informes

Las consultas son tiles para poder trabajar slo con los campos de una tabla que corresponden a una
tarea determinada. Cuando se desea limitar an ms los datos con los que se va a trabajar, basndose en
el valor de un campo, se pueden usar criterios en la consulta. Los criterios son reglas que se incluyen en
el diseo de una consulta. Estas reglas especifican valores o modelos con los que los campos deben
coincidir o que los campos deben contener para que la consulta los devuelva.
Cuando se desea que una consulta pida un valor o un modelo cada vez que se ejecuta, se puede crear
una consulta de parmetros (consulta de parmetros: consulta en la que un usuario especifica
interactivamente uno o ms valores de criterio. Una consulta de parmetros no es un tipo diferente de
consulta; ms bien, extiende la flexibilidad de una consulta.). Tambin se pueden usar parmetros con un
informe para que se pidan criterios cuando se ejecuta el informe. Se pueden usar formularios para que los
parmetros de consulta e informe se puedan recopilar y pasar mejor de las siguientes maneras:
Permitiendo el uso de controles especficos del tipo de datos
Habilitando la persistencia de los valores de parmetro
Permitiendo el uso de controles de cuadro combinado (de modo que se puede elegir un valor
de una lista en vez de escribirlo)
Permitiendo el uso de otros controles disponibles en formularios
En este artculo se explica cmo usar los parmetros en consultas e informes, y cmo usar los formularios
para mejorar el uso de los parmetros.
Usar parmetros en consultas
Crear una consulta de parmetros es tan fcil como crear una consulta que usa criterios. Puede disear
una consulta de modo que pida un solo dato, como un nmero de pieza, o varios datos, como dos fechas.
Por cada parmetro, una consulta de parmetros muestra un cuadro de dilogo independiente en el que
se solicita un valor para ese parmetro.

Crear una consulta de parmetros

1.

Cree una consulta de seleccin y, a continuacin, abra la consulta en la vista Diseo (vista
Diseo: ventana que muestra el diseo de estos objetos de base de datos: tablas, consultas,
formularios, informes, macros y pginas de acceso a datos. En la vista Diseo, puede crear
objetos de base de datos nuevos y modificar el diseo de otros existentes.).

2.

En la fila Criterios del campo al que desee aplicar un parmetro, escriba entre corchetes el
texto que debe aparecer en el cuadro de dilogo del parmetro; por ejemplo:

[Pas o regin de origen:]


Cuando ejecute la consulta de parmetros, el parmetro aparecer sin corchetes en un cuadro de
dilogo.
3.

Repita el paso 2 por cada parmetro que la consulta debe recopilar y aplicar.

Puede seguir los pasos anteriores para crear una consulta de parmetros a partir de cualquiera de los
siguientes tipos de consulta:

Seleccin

Tabla de referencias cruzadas

Datos anexados

Creacin de tabla

Actualizacin

Tambin puede agregar parmetros a una consulta de unin. Para ello:


1.

Abra la consulta de unin en la vista SQL.

2.

Agregue una clusula WHERE que contenga cada uno de los campos para los que desee
solicitar un parmetro.

Si ya existe una clusula WHERE, compruebe si los campos para los que desee solicitar un
parmetro ya estn incluidos en la clusula. En caso contrario, agrguelos.
3.

En vez de usar criterios en la clusula WHERE, inserte indicadores de parmetro que tengan
la misma sintaxis que los parmetros de otros tipos de consulta.

Hacer coincidir parte de un valor de campo con una cadena de parmetro


Quizs desee aplicar un poco de variabilidad en la forma en que la consulta aplica un parmetro. 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 comodn. Por ejemplo, desea que la
consulta solicite un pas o una regin de origen y que el valor de campo pertinente contenga la cadena de
parmetro. Para ello:
1.

Cree una consulta de seleccin y, a continuacin, abra la consulta en la vista Diseo.

2.

En la fila Criterios del campo al que desee aplicar el parmetro, escriba Como "*"&[,
escriba el texto que desee usar como indicador y, a continuacin, escriba ]&"*".

Cuando ejecute la consulta de parmetros, la cadena aparecer en el cuadro de dilogo sin


corchetes y sin la palabra clave Como o los caracteres comodn.

3.

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

Puede usar asimismo la palabra clave Como y los caracteres comodn para especificar que un parmetro
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 carcter comodn y el carcter de y comercial (&) delante del corchete de
apertura. Para que coincida con el final de un valor de campo, omita el carcter de y comercial, las
comillas y el carcter comodn situados detrs del corchete de cierre.
Coincidencia basada en valores desiguales

Puede que desee que una consulta, en vez de devolver las filas con un valor coincidente, devuelva las
filas para las que se cumplan tambin otras comparaciones. Por ejemplo, desea solicitar un ao y desea
que se devuelvan las filas en las que el valor de ao es mayor que la cadena de parmetro. Para ello,
escriba un operador de comparacin a la izquierda del primer corchete del indicador de parmetro. Por
ejemplo, >[Ao:].
Volver al principio
Usar parmetros en informes
La manera ms sencilla de crear un informe que acepte parmetros es usar una consulta de parmetros
como origen de registros del informe. Por ejemplo, puede crear un informe de ingresos mensuales basado
en una consulta de parmetros que solicite un valor para el mes. Cuando ejecute o imprima el informe,
Access mostrar un cuadro de dilogo en el que se solicite el mes que el informe debe abarcar. Cuando
especifique un mes, Access mostrar o imprimir el informe apropiado.
Tambin puede convertir fcilmente un informe sencillo basado en una consulta de seleccin en un
informe con parmetros mediante la adicin de parmetros a su consulta de origen. Hay dos formas de
hacerlo:
Abra la consulta de origen en la vista Diseo y, a continuacin, agregue parmetros a los
campos que desee agregndolos a la fila Criterios de esos campos. Vea la seccin Usar
parmetros en consultas para obtener informacin ms detallada.
Abra el informe en la vista Diseo y, a continuacin, haga clic en ... junto a la propiedad
Origen del registro del informe. De este modo, se abre la consulta de origen en la vista
Diseo. A continuacin, podr agregar parmetros a la consulta de origen, de acuerdo con lo
descrito en la seccin Usar parmetros en consultas.
Cuando termine de agregar parmetros a la consulta de origen, gurdela (presionando CTRL+G) y, a
continuacin, cirrela.

Volver al principio
Crear un formulario que recopile parmetros de informe
Si bien las consultas de parmetros tienen un cuadro de dilogo integrado que recopila los parmetros,
slo tienen una funcionalidad bsica. Si usa un formulario para recopilar parmetros de informe, podr
disponer de las siguientes caractersticas:
Posibilidad de usar controles especficos del tipo de datos, como controles de calendario
para las fechas
Persistencia de los parmetros recopilados
Posibilidad de proporcionar un cuadro combinado o cuadro de lista para la recopilacin de
parmetros, de modo que se puede elegir un valor en una lista de valores de datos
disponibles
Posibilidad de proporcionar controles para otras funciones, como mostrar u ocultar secciones
de un informe
Siga los pasos del 1 al 7 para crear un formulario que recopile parmetros de informe.

Paso 1: Cree un formulario independiente que solicite parmetros de informe

1.

En la ficha Crear, en el grupo Formularios, haga clic en Diseo de formulario.

2.

En la vista Diseo, presione F4 para que aparezca la hoja de propiedades y, a continuacin,


configure las propiedades del formulario, tal y como se muestra en la siguiente tabla.

Propiedad

Valor

Ttulo

Escriba el nombre que debe aparecer en la barra de ttulo del


formulario.

Vista predeterminada

Formulario simple

Permitir vista Formulario

Permitir vista Hoja de datos

No

Permitir vista TablaDinmica

No

Permitir
GrficoDinmico

No

vista

Barras de desplazamiento

Ninguna

Selectores de registro

No

Botones de desplazamiento

No

Estilo de los bordes

Dilogo

3.

4.

Por cada parmetro que va a recopilar el formulario, haga clic en Cuadro de texto en el
grupo Controles de la ficha Diseo.

5.

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

Propieda
d

Valor

Nombre

Escriba un nombre que describa el parmetro; por ejemplo, Fecha inicial.

Formato

Elija un formato que refleje el tipo de datos del campo de parmetro. Por ejemplo,
seleccione Fecha mediana para un campo de fecha.

6.
7.

Guarde el formulario y asgnele un nombre; por ejemplo, Recolector de parmetros.

NOTA

En este ejercicio se usa Recolector de parmetros como nombre del formulario. A medida

que siga estas instrucciones, reemplace el nombre asignado al formulario de parmetros del
informe con el nombre Recolector de parmetros.

Paso 2: Cree un mdulo que contenga una funcin que comprueba si ya se ha cargado un formulario

1.

En la ficha Crear, en el grupo Otro, haga clic en Mdulo. Si el comando no est disponible,
haga clic en la flecha debajo del botn Macro o Mdulo de clase y, a continuacin, haga clic
en Mdulo.

Se abre un nuevo mdulo en el Editor de Visual Basic.


2.

Escriba o pegue el siguiente cdigo en el Editor de Visual Basic:

3. Function IsLoaded(ByVal strFormName As String) As Boolean


4.
5. Dim oAccessObject As AccessObject
6. Set oAccessObject = CurrentProject.AllForms(strFormName)
7.
8. If oAccessObject.IsLoaded Then
9.
10.
11.

If oAccessObject.CurrentView <> acCurViewDesign Then


IsLoaded = True
End If

12. End If

Paso 3: Cree un grupo de macros que controle el formulario Recolector de parmetros

1.

En la ficha Crear, en el grupo Otro, haga clic en Macro. Si el comando no est disponible,
haga clic en la flecha debajo del botn Mdulo o Mdulo de clase y, a continuacin, haga
clic en Macro.

2.

En la ficha Diseo, en el grupo Mostrar u ocultar, haga clic en Mostrar todas las
acciones.

3.

En la ficha Diseo, en el grupo Mostrar u ocultar, haga clic en Nombres de macro para
mostrar la columna Nombres de macro.

4.

Escriba un nombre de macro, como Cuadro de dilogo Abrir, en la columna Nombre de la


macro.

5.

Haga clic en la celda de la columna Accin situada junto al nombre de la nueva macro, haga
clic en la flecha desplegable y, a continuacin, haga clic en AbrirFormulario.

6.

En la cuadrcula Argumentos de accin (situada debajo de la cuadrcula de diseo de la


macro), configure los argumentos de accin (argumento de accin: informacin adicional que
requieren algunas acciones de macro, por ejemplo, el objeto al que afecta la accin o
condiciones especiales en las que tiene lugar la accin.), tal y como se muestra en la
siguiente tabla.

Argumento

Valor

Nombre del formulario

Escriba el nombre que asign al formulario de parmetros de informe.

Vista

Formulario

Modo de datos

Modificar

Modo de la ventana

Dilogo

7.
8.

En la siguiente celda Accin, haga clic en CancelarEvento para agregar una segunda
accin. Se usa esta accin para cancelar la vista previa o la impresin del informe cuando un
usuario hace clic en el botn Cancelar del formulario.

9.

Si no ve la columna Condicin, haga clic en Condiciones del grupo Mostrar u ocultar en la


ficha Diseo.

10. En la columna Condicin, escriba Not IsLoaded, seguido de un parntesis de apertura y


unas comillas, el nombre asignado al formulario de parmetros de informe y, a continuacin,
unas comillas y un parntesis de cierre. Por ejemplo, si el formulario se denomina Recolector
de parmetros, escriba Not IsLoaded("Recolector de parmetros").
11. En la siguiente fila en blanco de la cuadrcula de diseo de la macro, escriba un nombre de
macro, como Cuadro de dilogo Cerrar.
12. En la celda Accin adyacente, haga clic en la flecha desplegable y, a continuacin, haga clic
en Cerrar. El informe usa esta accin para cerrar el formulario de parmetros de informe.
Configure los argumentos de la accin, tal y como se muestra en la siguiente tabla.
Argumento

Valor

Tipo de objeto

Formulario

Nombre del objeto

Escriba el nombre que asign al formulario de parmetros de informe.

Guardar

No

13.
14. En la siguiente fila en blanco de la cuadrcula de diseo de la macro, escriba un nombre de
macro, como Aceptar. En la celda Accin adyacente, haga clic en la flecha desplegable y, a
continuacin, haga clic en EstablecerValor. Se usa esta accin para ocultar el formulario de
parmetros de informe cuando el usuario hace clic en Aceptar. Configure los argumentos de
la accin, tal y como se muestra en la siguiente tabla.
Argumento

Valor

Elemento

[Visible]

Expresin

No

15. En la siguiente fila en blanco de la cuadrcula de diseo de la macro, escriba un nombre de


macro, como Cancelar. En la celda Accin adyacente, haga clic en la flecha desplegable y,
a continuacin, haga clic en Cerrar. Se usa esta accin para cerrar el formulario de
parmetros de informe cuando el usuario hace clic en Cancelar. Configure los argumentos
de la accin, tal y como se muestra en la siguiente tabla.
Argumento

Valor

Tipo de objeto

Formulario

Nombre del objeto

Escriba el nombre que asign al formulario de parmetros de informe.

Guardar

No

16.
17. Guarde y cierre el grupo de macros. Especifique un nombre para el grupo de macros; por
ejemplo, Recolector de parmetros.

Paso 4: Agregue al formulario los botones de comando Aceptar y Cancelar.

1.

Vuelva a abrir el formulario Recolector de parmetros en la vista Diseo.

2.

Asegrese de que no est seleccionada la opcin Utilizar asistentes para controles en el


grupo Controles de la ficha Diseo.

3.

En la ficha Diseo, en el grupo Controles, haga clic en Botn.

4.

Site el puntero debajo de los cuadros de texto del formulario y, despus, arrastre para crear
un botn de comando Aceptar.

5.

Si no ve la hoja de propiedades, presione F4 para que aparezca.

6.

Configure las propiedades del botn Aceptar, tal y como se muestra en la tabla siguiente.

Propiedad

Valor

Nombre

Aceptar

Ttulo

Aceptar

Predeterminado

Al hacer clic

Escriba el nombre de la macro; por ejemplo, Recolector de parmetros.Aceptar.

7.
8.

Cree un botn de comando Cancelar y configure sus propiedades, tal y como se muestra en
la tabla siguiente.

Propiedad

Valor

Nombre

Cancelar

Ttulo

Cancelar

Al hacer clic

Escriba el nombre de la macro; por ejemplo, Recolector de parmetros.Cancelar.

9.
10. Guarde y cierre el formulario.

Paso 5: Introduzca los criterios en la consulta o el procedimiento almacenado subyacente del informe

1.

Abra la consulta o el procedimiento almacenado subyacente del informe en la vista Diseo.

2.

Especifique los criterios para los datos. En la expresin (expresin: cualquier combinacin de
operadores matemticos o lgicos, constantes, funciones y nombres de campos, controles y
propiedades que evala a un solo valor. Las expresiones puede realizar clculos, manipular
caracteres o probar datos.), use el objeto Formularios, el nombre del formulario y los
nombres de los controles (control: objeto de interfaz grfica para el usuario, como un cuadro
de texto, una casilla de verificacin, una barra de desplazamiento o un botn de comando,
que permite a los usuarios controlar el programa. Utilice los controles para mostrar datos y
opciones, realizar una opcin o facilitar la lectura de la interfaz.) en los criterios:

Por ejemplo, en una base de datos de Access (.accdb o .mdb), para un


formulario denominado Recolector de parmetros, use la siguiente expresin
para referirse a los controles denominados Fecha de inicio y Fecha de fin en la
consulta:

Entre [Formularios]![Recolector de parmetros]![Fecha de inicio] Y [Formularios]!


[Recolector de parmetros]![Fecha de fin]

En un proyecto de Access (proyecto de Microsoft Access: archivo de Access que


se conecta con una base de datos de Microsoft SQL Server y se utiliza para
crear aplicaciones cliente-servidor. Un archivo de proyecto no contiene datos ni
objetos basados en definiciones de datos, como, por ejemplo, tablas o vistas.)
(.adp), primero debe asignar un nombre explcito a los parmetros del
procedimiento almacenado; por ejemplo:

@Fecha_inicio fechayhora, @Fecha_fin fechayhora


A continuacin, debe usar esos parmetros en la clusula WHERE; por ejemplo:
WHERE Ventas.FechaEnvo Entre @Fecha_inicio Y @Fecha_fin
En un proyecto de Access, la referencia a los controles del formulario se establece en la
propiedad ParmetrosEntrada del informe, tal y como se muestra en el siguiente
procedimiento.

Paso 6: En un proyecto de Access, establezca la propiedad ParmetrosEntrada del informe principal.

1.

Abra el informe en la vista Diseo.

2.

Establezca la propiedad ParmetrosEntrada del informe en una cadena que especifique los
parmetros que se pasan al procedimiento almacenado al que est enlazado el informe.

Al igual que en el ejemplo siguiente, la cadena debe ser una expresin que incluya los parmetros
especificados en el procedimiento almacenado as como la referencia a los controles del cuadro
de dilogo:
@Fecha_inicio fechayhora = [Formularios]![Recolector de parmetros]![Fecha de inicio],
@Fecha_fin fechayhora = [Formularios]![Recolector de parmetros]![Fecha de fin]

Paso 7: Adjunte las macros al informe principal

1.

Abra el informe en la vista Diseo.

2.

Si no ve la hoja de propiedades, presione F4 para que aparezca.

3.

Configure las propiedades del informe, tal y como se muestra en la siguiente tabla.

Propieda
d

Valor

Al abrir

Escriba el nombre de la macro que abra el formulario; por ejemplo, Recolector de


parmetros.Cuadro de dilogo Abrir.

Al cerrar

Escriba el nombre de la macro que cierre el formulario; por ejemplo, Recolector de


parmetros.Cuadro de dilogo Cerrar.