Consulta de Referencias cruzadas en Access con parámetros

30 junio, 2009 · Alex Borrás
El Blog de Alex Borrás · https://alexborras.com/consulta-de-referencias-cruzadas-en-access-con-parametros/

[vc_row row_type=»row» use_row_as_full_screen_section=»no» type=»full_width» angled_section=»no» text_align=»left» background_image_as_pattern=»without_pattern»][vc_column][vc_column_text]Es frecuente hacer una consulta SQL de referencias cruzadas en Microsoft Access basada en una primera consulta que prepara los datos y los filtra en función de unos parámetros.

Consulta de referencias cruzadas con parámetros en un formulario

La 1ª consulta con parámetros funciona bien pero la 2ª da un error al ejecutarse del tipo: «El motor de base de datos Microsoft Jet no reconoce … como un nombre de campo o expresión válidos».

Error en consulta de referencias cruzadas con microsoft access

Hay que hacer lo siguiente:

  1. Suponemos que la 1ª consulta se basa en dos campos de fecha que están en un formulario y los campos se llaman: [Desde Fecha] y [Hasta Fecha]
  2. La primera consulta, la de selección, usa este dos campos para filtrar los datos.
  3. En la segunda consulta una vez construida y estando en el modo de diseño se debe ir a la barra de menús superior e ir a la opción Consulta->Parámetros y aparece una tabla de doble entrada donde pone Parámetro y Tipo de datos.
  4. Insertaremos tantas filas como parámetros tengamos, en nuestro caso serán dos:
    • [Formularios]![NombreFormulario][Desde Fecha], tipo de datos Fecha/Hora
    • [Formularios]![NombreFormulario][Hasta Fecha], tipo de datos Fecha/Hora
  5. Ahora podremos ejecutar la consulta sin que de errores.

Si los parámetros no están en un formulario si no directamente en la primera consulta el procedimiento en la 2ª consulta es el mismo. Para un criterio directo como True, False, mayor o menor, etc. no hace falta crear parámetros en la segunda consulta.

Consulta con parámetros en la primera consulta

Si lo que tenemos es un parámetro directo en la primera consulta el procedimiento es el mismo que en el punto anterior. La diferencia está que cuando vamos a Consulta>Parámetros en la primera columna pondremos el nombre del parámetro.

En la imagen inferior se puede ver como son las consultas y los parámetros. Como aclaración diré que la primera consulta del ejemplo es una consulta de agrupación en vez de un consulta normal. Esto no es relevante para el método pero mejor aclararlo. Con consultas normales se debe hacer lo mismo.[/vc_column_text][vc_empty_space][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]

¿Qué es una tabla de referencias cruzadas en Access?

Una consulta de referencias cruzadas en Microsoft Access es una herramienta poderosa que transforma los datos de filas a columnas, permitiendo a los usuarios ver la información desde una perspectiva diferente. Es similar a una tabla dinámica en Excel y es particularmente útil para resumir, analizar o reportar datos agrupados.

Este tipo de consulta organiza los datos de manera que los valores únicos de una columna específica se convierten en los encabezados de columna de la tabla de resultados, mientras que otra columna determina las filas. Por ejemplo, puedes utilizar una consulta de referencias cruzadas para mostrar un resumen de ventas mensuales, donde las filas representan los productos y las columnas representan los meses.

Las consultas de referencias cruzadas pueden ser de gran utilidad cuando necesitas realizar un análisis comparativo o entender las tendencias en los datos. Por ejemplo, si tienes una base de datos con ventas de productos, puedes usar una consulta de referencias cruzadas para ver rápidamente cuánto se vendió cada producto en cada mes, o comparar las ventas totales de diferentes productos en un período de tiempo.

Para crear una consulta de referencias cruzadas en Access, puedes usar el Asistente para consultas de referencias cruzadas o escribir la consulta manualmente en SQL. En la vista SQL, la sintaxis básica para una consulta de referencias cruzadas incluiría cláusulas como TRANSFORM y PIVOT, donde TRANSFORM define la función de agregación aplicada a los datos (por ejemplo, SUM, AVG) y PIVOT establece las columnas que se crean dinámicamente a partir de los valores de datos.

Las consultas de referencias cruzadas facilitan la visualización de grandes cantidades de datos y ayudan en la toma de decisiones basadas en datos, proporcionando una vista clara de las relaciones y tendencias dentro de los datos de tu base de datos.[/vc_column_text][vc_empty_space][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]Las consultas de referencias cruzadas son una de las herramientas más potentes que nos ofrece Microsoft Access, si usas esta herramienta te aconsejo conocer bien esta técnica, te será muy útil.

Si estás interesado en conocer más temas relacionados con Microsoft Access te sugiero consultar los artículos sobre Microsoft Access o algunos trucos para VBA.[/vc_column_text][vc_empty_space][/vc_column][/vc_row]