Parametros Para Consultas

9
Usar parámetros en consultas e informes Corresponde a: Microsoft Office Access 2007 Imprimir Mostrar todo Las consultas son útiles para poder trabajar sólo con los campos de una tabla que corresponden a una tarea determinada. Cuando se desea limitar aún más los datos con los que se va a trabajar, basándose en el valor de un campo, se pueden usar criterios en la consulta. Los criterios son reglas que se incluyen en el diseño 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 parámetros. También se pueden usar parámetros con un informe para que se pidan criterios cuando se ejecuta el informe. Se pueden usar formularios para que los parámetros de consulta e informe se puedan recopilar y pasar mejor de las siguientes maneras: Permitiendo el uso de controles específicos del tipo de datos Habilitando la persistencia de los valores de parámetro 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 artículo se explica cómo usar los parámetros en consultas e informes, y cómo usar los formularios para mejorar el uso de los parámetros. En este artículo Introducción Usar parámetros en consultas Usar parámetros en informes Crear un formulario que recopile parámetros de informe Introducción Puede usar criterios en una consulta en Microsoft Office Access 2007 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 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 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

Transcript of Parametros Para Consultas

Page 1: Parametros Para Consultas

Usar parámetros en consultas e informesCorresponde a: Microsoft Office Access 2007

Imprimir

 

Mostrar todo

Las consultas son útiles para poder trabajar sólo con los campos de una tabla que corresponden a una tarea

determinada. Cuando se desea limitar aún más los datos con los que se va a trabajar, basándose en el valor de un campo, se pueden usar criterios en la consulta. Los criterios son reglas que se incluyen en el diseño 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 parámetros. También se pueden usar parámetros con un informe para que se pidan criterios cuando se ejecuta el informe. Se pueden usar formularios para que los parámetros de consulta e informe se puedan recopilar y pasar mejor de las siguientes maneras:

Permitiendo el uso de controles específicos del tipo de datos Habilitando la persistencia de los valores de parámetro 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 artículo se explica cómo usar los parámetros en consultas e informes, y cómo usar los formularios para mejorar el uso de los parámetros.

En este artículo

Introducción

Usar parámetros en consultas

Usar parámetros en informes

Crear un formulario que recopile parámetros de informe

IntroducciónPuede usar criterios en una consulta en Microsoft Office Access 2007 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 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 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 contenga ú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 genial 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.

Page 2: Parametros Para Consultas

Los parámetros también se pueden usar con los informes. Esto permite a los usuarios pasar al informe criterios cuando lo ejecutan. En este artículo, se muestra cómo usar Office Access 2007 para crear informes que acepten parámetros.

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 muestra 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 e informes. Al menos deberá saber cómo crear una consulta de selección antes de continuar.

Para obtener más información sobre la creación de una consulta de selección o un informe, vea los artículos Crear una consulta de selección sencilla y Crear un informe sencillo.

Este artículo incluye ejemplos de cómo usar parámetros en las consultas y los informes. 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 Ejemplos de criterios de consulta.

VOLVER AL PRINCIPIO

Usar parámetros en consultasCrear una consulta de parámetros es tan fácil como crear una consulta que usa criterios. Puede diseñar una consulta de modo que pida 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.

Crear una consulta de parámetros

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:

[País o región de origen:]

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

3. Repita el paso 2 por cada parámetro que la consulta debe recopilar y aplicar.

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

Selección Tabla de referencias cruzadas Datos anexados Creación de tabla Actualización

También puede agregar parámetros a una consulta de unión. Para ello:

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 solicitar un parámetro ya están incluidos en la cláusula. En caso contrario, agréguelos.

3. En vez de usar criterios en la cláusula WHERE, inserte indicadores de parámetro que tengan la misma sintaxis que los parámetros de otros tipos de consulta.

Page 3: Parametros Para Consultas

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

Quizás desee 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 y que el valor de campo pertinente contenga 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 al que desee 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, la cadena 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 contiene 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

Puede que desee que una consulta, en vez de devolver las filas con un valor coincidente, devuelva las filas para las que se cumplan también otras comparaciones. Por ejemplo, desea solicitar un año y desea que se devuelvan las filas en las que 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. Por ejemplo, >[Año:].

VOLVER AL PRINCIPIO

Usar parámetros en informesLa manera más sencilla de crear un informe que acepte parámetros es usar una consulta de parámetros como origen de registros del informe. Por ejemplo, puede crear un informe de ingresos mensuales basado en una consulta de parámetros que solicite un valor para el mes. Cuando ejecute o imprima el informe, Access mostrará un cuadro de diálogo en el que se solicite el mes que el informe debe abarcar. Cuando especifique un mes, Access mostrará o imprimirá el informe apropiado.

También puede convertir fácilmente un informe sencillo basado en una consulta de selección en un informe con parámetros mediante la adición de parámetros a su consulta de origen. Hay dos formas de hacerlo:

Abra la consulta de origen en la vista Diseño y, a continuación, agregue parámetros a los campos que desee agregándolos a la fila Criterios de esos campos. Vea la sección Usar parámetros en consultas para obtener información más detallada.

Abra el informe en la vista Diseño y, a continuación, haga clic en ... junto a la propiedad Origen del registro del informe. De este modo, se abre la consulta de origen en la vista Diseño. A continuación, podrá agregar parámetros a la consulta de origen, de acuerdo con lo descrito en la sección Usar parámetros en consultas.

Cuando termine de agregar parámetros a la consulta de origen, guárdela (presionando CTRL+G) y, a continuación, ciérrela.

VOLVER AL PRINCIPIO

Page 4: Parametros Para Consultas

Crear un formulario que recopile parámetros de informeSi bien las consultas de parámetros tienen un cuadro de diálogo integrado que recopila los parámetros, sólo tienen una funcionalidad básica. Si usa un formulario para recopilar parámetros de informe, 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 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 mostrar u ocultar secciones de un informe

Siga los pasos del 1 al 7 para crear un formulario que recopile parámetros de informe.

Paso 1: Cree un formulario independiente que solicite parámetros de informe

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

2. En la vista Diseño, presione F4 para que aparezca la hoja de propiedades y, a continuación, configure las propiedades del formulario, tal y 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 Formulario simple

Permitir vista Formulario Sí

Permitir vista Hoja de datos No

Permitir vista TablaDinámica No

Permitir vista GráficoDinámico

No

Barras de desplazamiento Ninguna

Selectores de registro No

Botones de desplazamiento No

Estilo de los bordes Diálogo

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

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

PROPIEDAD VALOR

Page 5: Parametros Para Consultas

Nombre Escriba un nombre que describa el parámetro; por ejemplo, Fecha inicial.

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

6. Guarde el formulario y asígnele un nombre; por ejemplo, Recolector de parámetros.

 NOTA    En este ejercicio se usa Recolector de parámetros como nombre del formulario. A medida que siga estas instrucciones, reemplace el nombre asignado al formulario de parámetros del informe con el nombre Recolector de parámetros.

Paso 2: Cree un módulo que contenga una función que comprueba si ya se ha cargado un formulario

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

Se abre un nuevo módulo en el Editor de Visual Basic.

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 AccessObjectSet oAccessObject = CurrentProject.AllForms(strFormName)

If oAccessObject.IsLoaded Then If oAccessObject.CurrentView <> acCurViewDesign Then IsLoaded = True End IfEnd If

Paso 3: Cree un grupo de macros que controle el formulario Recolector de parámetros

1. En el grupo Otros de la ficha Crear, haga clic en Macro. Si el comando no está disponible, haga clic en la flecha situada debajo del botón Módulo o Módulo de clase y, a continuación, 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 el grupo Mostrar u ocultar de la ficha Diseño, haga clic en Nombres de macro para mostrar la columna Nombres de 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 (situada debajo de la cuadrícula de diseño de la macro), configure los

argumentos de acción, tal y como se muestra en la siguiente tabla.

ARGUMENTO VALOR

Nombre del formulario

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

Vista Formulario

Page 6: Parametros Para Consultas

Modo de datos Modificar

Modo de la ventana Diálogo

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

8. Si no ve la columna Condición, haga clic en Condiciones del grupo Mostrar u ocultar en la ficha Diseño. 9. En la columna Condición, escriba Not IsLoaded, seguido de un paréntesis de apertura y unas comillas, el nombre

asignado al formulario de parámetros de informe y, a continuación, unas comillas y un paréntesis de cierre. Por ejemplo, si el formulario se denomina Recolector de parámetros, escriba Not IsLoaded("Recolector de parámetros").

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

11. En la celda Acción adyacente, haga clic en la flecha desplegable y, a continuación, haga clic en Cerrar. El informe usa esta acción para cerrar el formulario de parámetros de informe. Configure los argumentos de la acción, 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 parámetros de informe.

Guardar No

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

15. 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 del objeto Escriba el nombre que asignó al formulario de parámetros de informe.

Guardar No

Page 7: Parametros Para Consultas

16. Guarde y cierre el grupo de macros. Especifique un nombre para el grupo de macros; por ejemplo, Recolector de parámetros.

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

1. Vuelva a abrir el formulario Recolector de parámetros 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 el grupo Controles de la ficha Diseño, 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 no ve la hoja de propiedades, presione F4 para que aparezca.6. Configure las propiedades del botón Aceptar, tal y como se muestra en la tabla siguiente.

PROPIEDAD VALOR

Nombre Aceptar

Título Aceptar

Predeterminado Sí

Al hacer clic Escriba el nombre de la macro; por ejemplo, Recolector de parámetros.Aceptar.

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

PROPIEDAD VALOR

Nombre Cancelar

Título Cancelar

Al hacer clic Escriba el nombre de la macro; por ejemplo, Recolector de parámetros.Cancelar.

9. 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 Diseño.2. Especifique los criterios para los datos. En la expresión, use el objeto Formularios, el nombre del formulario y los

nombres de los controles en los criterios: Por ejemplo, en una base de datos de Access (.accdb o .mdb), para un formulario denominado Recolector

de parámetros, use la siguiente expresión para referirse a los controles denominados Fecha de inicio y Fecha de fin en la consulta:

Entre [Formularios]![Recolector de parámetros]![Fecha de inicio] Y [Formularios]![Recolector de parámetros]![Fecha de fin]

Page 8: Parametros Para Consultas

En un proyecto de Access (.adp), primero debe asignar un nombre explícito a los parámetros del procedimiento almacenado; por ejemplo:

@Fecha_inicio fechayhora, @Fecha_fin fechayhora

A continuación, debe usar esos parámetros en la cláusula WHERE; por ejemplo:

WHERE Ventas.FechaEnvío Entre @Fecha_inicio Y @Fecha_fin

En un proyecto de Access, la referencia a los controles del formulario se establece en la propiedad ParámetrosEntrada del informe, tal y como se muestra en el siguiente procedimiento.

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

1. Abra el informe en la vista Diseño.2. Establezca la propiedad ParámetrosEntrada del informe en una cadena que especifique los parámetros que se

pasan al procedimiento almacenado al que está enlazado el informe.

Al igual que en el ejemplo siguiente, la cadena debe ser una expresión que incluya los parámetros especificados en el procedimiento almacenado así como la referencia a los controles del cuadro de diálogo:

@Fecha_inicio fechayhora = [Formularios]![Recolector de parámetros]![Fecha de inicio], @Fecha_fin fechayhora = [Formularios]![Recolector de parámetros]![Fecha de fin]

Paso 7: Adjunte las macros al informe principal

1. Abra el informe en la vista Diseño.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.

PROPIEDAD VALOR

Al abrir Escriba el nombre de la macro que abra el formulario; por ejemplo, Recolector de parámetros.Cuadro de diálogo Abrir.

Al cerrar Escriba el nombre de la macro que cierre el formulario; por ejemplo, Recolector de parámetros.Cuadro de diálogo Cerrar.