Access - Referencias cruzadas desde UNION

 
Vista:
sin imagen de perfil
Val: 7
Ha disminuido su posición en 9 puestos en Access (en relación al último mes)
Gráfica de Access

Referencias cruzadas desde UNION

Publicado por Angel (15 intervenciones) el 25/04/2020 15:52:17
Hola, tengo una consulta tipo UNION con dos criterios basados en 2 controles de un formulario (ComboBox y CuadroTexto).

La consulta UNION funciona perfectamente desde el formulario.

El problema viene cuando hago una consulta de referencias cruzadas para pivotar la consulta UNION de manera que las filas sean los tipos de actuaciones y las columnas los meses, presentando en las intersecciones la suma de las actuaciones realizadas cada mes.

Al ejecutar la consulta de referencias cruzadas basada en la UNION me dice que el motor de búsqueda de Access no reconoce el control del formulario como un nombre de campo o expresión válidos.

No doy con la forma de ejecutar todo esto. Puedo copiar el SQL si lo necesitáis.

MUCHAS GRACIAS!!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Referencias cruzadas desde UNION

Publicado por Anonimo (3316 intervenciones) el 25/04/2020 20:03:35
Créale a esa consulta tantos PARAMETROS como datos externos (referencias) se utilicen.

Se le adjudica a cada parámetro la referencia correspondiente y así Access sabrá donde esta cada cosa en el lio de datos que tiene que manipular.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 7
Ha disminuido su posición en 9 puestos en Access (en relación al último mes)
Gráfica de Access

Referencias cruzadas desde UNION

Publicado por Angel (15 intervenciones) el 25/04/2020 20:21:33
Muchas gracias por su pronta respuesta, pero no termino de entender lo que me quiere decir.
Si pudiera ser más explícito, se lo agradecería. Si necesita cualquier aclaración sobre la BD, la consulta en concreto u otra cosa, hágamelo saber y se lo facilito.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Referencias cruzadas desde UNION

Publicado por Anonimo (3316 intervenciones) el 25/04/2020 23:46:46
Las consultas de referencias cruzadas tienen la necesidad de tener muy claro todo su entorno, una referencia a un elemento externo (por ejemplo: un formulario para leer un dato) puede romper el hilo de su ejecución.

Los 'Parámetros' son un símil a las variables, los lee antes de iniciar la ejecución (es fácil de verlo en una consulta con parámetros en su 'vista SQL') y ya los tiene disponibles para utilizarlos sin 'salir fuera' de ese entorno. otra opción consistiría en generar esa misma consulta 'recreándola' desde el propio VBA con el fin de obtener ese mismo resultado. (esto es se rehace en tiempo de ejecución el conterxto de la consulta aportando datos que así no tendrá que andar localizando)

Un ejemplo de esa 'necesidad' (en otro entorno, para entender el concepto) seria el tener que cruzar un desierto y no poder (en medio del viaje) ir a por mas agua, los parámetros aquí representarían al deposito auxiliar que se llena 'antes' de emprender el viaje, evitando esa necesidad a mitad del camino.

Con la consulta en modo diseño, un click en la ventana base con el botón derecho del ratón y aparecerá las opciones disponibles, entre ellas (en ese menú contextual) esta la opción de añadir parámetros.

Se crea un parámetro dándole un nombre e indicando el tipo de dato y ese 'nombre es la ¿variable? que sustituirá en toda esa SQL a un dato determinado (por ejemplo, una fecha que es común a una consulta en la que intervienen varias tablas, se sustituiría a ese dato de fecha por la variable y así no la pediría mas de una vez).

En la practica se están utilizando parámetros sin apreciarlo, por ejemplo:

En una consulta deseamos que nos solicite un dato ¿la fecha de nacimiento para calcular la edad? … se pone como condición bajo ese campo algo como: [indique su fecha de nacimiento: ejemplo 5/5/2005]

Al ejecutar la consulta, el motor de Access detectara que 'ese campo' ( [indique su fecha de nacimiento: ejemplo 5/5/2005] ) no esta en parte alguna y creara de forma dinámica el parámetro (la variable) en tiempo de ejecución, la preguntara una única vez y la utilizara tantas veces como la necesite en cualquier parte de esa SQL.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 7
Ha disminuido su posición en 9 puestos en Access (en relación al último mes)
Gráfica de Access

Referencias cruzadas desde UNION

Publicado por Angel (15 intervenciones) el 26/04/2020 09:48:19
Mi mas sincera admiración. Muchísimas gracias por tan magistral explicación. He entendido el concepto y, tras ponerlo en práctica, tengo que decirle que el depósito de agua auxiliar ya abastece correctamente.

Lo dicho, un millón de gracias!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Referencias cruzadas - parametros

Publicado por Miguel (13 intervenciones) el 05/02/2022 07:05:36
Hola, en la consulta de referencia cruzadas debajo del campo ciudad, en criterios, he puesto [Indique la ciudad] y en parámetros Indique la ciudad, como texto, todo ello para filtrar los resultados de la consulta por el campo ciudad. Cuando ejecuto la consulta, se me abre un cuadro de diálogo donde le pongo la ciudad, pero cuando le doy a aceptar, me vuelve a salir varias veces este cuadro hasta que me filtra los resultados. ¿Es posible que esté haciendo algo mal?. Gracias de antemano.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Referencias cruzadas - parametros

Publicado por Anonimo (3316 intervenciones) el 21/02/2022 11:19:27
No tiene que ser 'mal', simplemente no se hace de la forma que Access espera (y ese es el problema).

Lo único que puedo deducir de mi experiencia es que es el momento ideal para copiar y pegar.

Es una de los métodos para lograr que la declaración de la 'variable' y su aplicación practica sean correctas.

Access generalmente no distingue entre letra mayúscula o minúscula, pero los acentos y los espacios si los tiene muy en cuenta:

1
2
Jose <> José
  Jose <> Jose
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar