Access - Comparar valores de distinto registro en informe

Me gustaría saber como comprar en un mismo informe dos años de registro distitnos. Es decir que me pida los años que quiero comprar, lo introduzco y me compare los años.

Espero haberme explicado correctamente, muchas gracias!>>>Black

1 respuesta

Respuesta
1

Lo puedes hacer de muchas formas, todo depende de como quieras el informe y desde donde quieras abrirlo. Por ejemplo, supongamos que tienes una tabla Ventas, con Cliente, fecha, etc... según imagen

Y supongamos que en el informe quieres ver cuanto clientes te compraron un año y cuantos en otro. Podrías hacer una consulta

Con esa consulta haces el informe y cuando quieras abrirlo te aparecerá

Escribes el año, te aparecerá la otr ventana preguntándote el otro y el resultado

Pero como te decía todo depende de lo que quieras ver y desde donde.

Hola Icue, muchísimas gracias por contestar. Me gustaría exactamente lo que has propuesto pero que la solución final se viera en un informe, ¿es possible? Gracias

Añado que, antes de ello el informe debe pasar unos filtros de direccion que le he intorducio con VBA, es compatible lo que me indicas con el codigo que tengo introducido? Añado el codigo para que puedas visualizarlo: DoCmd.OpenReport "CAMPINFREGECELDALINIA", acViewPreview, , "[LIN_Elemento]=" & Me.ED_Elemento & " AND " & "[INSTALACIONES.Nombre]='" & Me.txtInstallation & "' AND " & "[ECELDALINIA.Id]=" & Me.ED_Elemento & " AND " & "[Direccion]='" & Me.EscollirDireccio & "' AND " & "[LIN_FechaRegistro]=#" & Format(Me.ED_FechaRegistro, "mm/dd/yyyy") & "#"

En principio la última imagen que te envía es la del informe. En el caso que citas, podrías añadir a la consulta los campos que quieras, poniendo en criterios los valores de los cuadros de texto del formulario. Como, más o menos en la imagen(reconozco que soy un vago)

Así, cuando desde el formulario Yoquese vayas a abrir el informe, simplemente con

Docmd. Openreport"NombreInforme", acpreview como los criterios ya los coge de los propios valores que hay en el formulario, sólo te preguntaría lo de los años. En el caso de que los años estuvieran en el formulario, en los cuadros de texto Año1 y Año2, en la consulta sólo tendrías que poner, en vez de [escribe un año]

Forms! Yoquese! Año1

Lo que me sorprende es que viviendo es España pongas lo de format(fecharegistro. Me explico, en USA y Sudameríca usan el formato mm/dd/aaaa pero aquí tanto si eliges fecha larga, corta lo que sea es dd/mm/aaaa. 

Hola Icue,

El formato de fecha lo pongo así dado que lo entiendo mejor (es raro, lo se). Respecto a lo demás, lo entiendo totalmente pero hay un problema y es, quiero comprarar pero no de la manera que lo has hecho tu, diré un ejemplo. Año 2017: Marca>Renault. Año 2016: Marca>Seat. Quiero que me pida los dos años a comprar y en el informe me aparezca la marca que se usaba en 2016 y la marca que se usa en el año 2017. Imagino que es una pequeña modificación a lo que has echo.
Muchísimas gracias!

Supongamos que la tabla la tienes con

Si la consulta la construyes como

Cuando quieras abrir la consulta( en este caso le he respondido año=2015 y marca Seat y año=2017 y Marca Renault y el resultado

Hola Icue, gracias por contestar. Es casi como lo que quiero pero voy a acabar de detallar aun mas, para ver si se puede lograr al 100%. La idea es tal y como me has indicado pero sin tener que añadir la marca de coche, es decir, yo introduzco el año 2015 y el año 2017 y en el informe me gustaria que apareciera, en el año 2015 el coche es Seat y en el año 2017 el coche era Renault..
Asi cuando imrima el informe todo en la misma pagina vere que en el año 2015 era un Seat el coche y en el 2017 el coche era un Renault.

Espero haberme explifdado correctamente, muchisimas gracias por tu gran ayuda Icue!

Pero en algún lugar tendrás que decirle que quieres que la marca del 2015 sea Seat y la del 2017 sea Renault, porque si no, te sacará todas las marcas que has vendido en el 2015 sean Seat o no. Podrías hacer el informe basado en la consulta sin criterio y en algún evento poner

DoCmd.OpenReport "nombreinforme", acPreview, , "Año like [Escriba un año] and marca=""Seat"" or año like [Escriba otro] and marca=""Renault"""

La marca es el valor que quiero que me muestre, es decir si le pongo 2017 y es Renault que me lo muestre, al igual que si pongo 2015 me salga Seat. Antes de ello, ya le he pasado un filtro que sabe que tiene que coger modelos de coche, pero si por un casual, introduzco 2018 y es Ferrari y luego quiero ver el informe y pongo 2015, me uestre Seat y si pongo 2018 me muestre Ferrari.

Entonces omite lo de marca y déjalo sólo como ...Año like [Escriba un año] or año like [Escriba otro]"

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas