Como filtrar en Consultas de Referencias Cruzadas

Tengo varias consultas de referencias cruzadas en las que las columnas listan los totales mensuales y el total anual. La cuestión es que al hacerlas de ese modo, los datos se van acumulando y esas columnas de meses suman por ejemplo las ventas de 2015, 2016 y así sucesivamente.

Como quiero listar sólo el año actual, a la SQL de la consulta le agregué la condición

WHERE (((Year([fecha]))=Year(Now())))

Hasta ahí todo bien: las tablas muestran los totales del año en curso. Pero ¿qué pasa si quiero consultar los números solamente de un año anterior?

Probé modificar la condición a:

WHERE (((Year([fecha]))=Year([Ingrese año a buscar])))

Y no me muestra datos. Lo mismo si pretendo mostrar datos del año 2015 y pongo 

WHERE (((Year([fecha]))=Year(2015)))

¿Cómo puedo lograr que la consulta muestre los resultados del año que ingrese el operador?

Respuesta
3

Tienes que declarar el parámetro al inicio de la SQL, según comento en esta otra respuesta:

Access 2010 - Consulta que me genere un informe semestral

Un saludo


¡Gracias Sveinbjorn! Pongo mi voto para que te eleven a la categoría de Superexperto. Funciona a la perfección, y con ello la posibilidad de obtener diferentes estadísticas mediante consultas de referencias cruzadas se me ha amplía a más no poder. Muchas gracias nuevamente!

Jajaja! SuperExperto... No estaba mal, no... Mientras, dame unos puntitos valorando la respuesta. ;-)

Un saludo


Una última consulta: Ese parámetro ingresado por el operador, queda disponible para -por ejemplo- mostrarlo en un campo independiente de un informe a imprimir? 

La idea es ésta: Creo un informe que se base en esa consulta de referencia cruzada, puedo en el encabezado de página poner un campo independiente con el título "Estadística correspondiente al año: " y que ese campo independiente capture y me muestre el año ingresado como parámetro por el operador? 

Directamente creo que no (nunca lo he probado ni necesitado), pero puedes hacer alguna "trampilla":

a) Crear un formulario desde el que abrir el informe, con un cuadro de texto donde pongas el criterio de la consulta. Tendrás que modificar la definición del parámetro en la SQL para hacer referencia al cuadro del formulario, y en el título del informe coges el valor de ese cuadro.

b) Pasar el valor del parámetro por VBA a la consulta. Previamente tienes que recogerlo en algún lado (un formulario o con un inputbox) y luego lo usas en el informe para completar el título. Mira alguno de estos métodos para hacerlo:

https://msdn.microsoft.com/en-us/library/office/ff194182.aspx 

https://msdn.microsoft.com/es-es/library/office/ff194892.aspx 

Yo no he probado ninguno de ellos con una consulta de ref. Cruzadas, pero no veo por qué no te habrían de funcionar...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas