Consulta que filtre por mes y año inicial hasta mes y año final

05/06/2010 - 12:18 por Bluey | Informe spam
Hola amigos, estos con una estadisticas y tengo que hacer una consulta que
filtre por un rango de mes y año. En un form elijo el mes y el año inicial
(con 2 listas desplegable) y lo mismo para el mes y el año final. En la
consulta tengo la fecha de venta y he añadido un campo mes:mes(fecha) y otro
campo año:año(fecha) y me da el mes y el año, correecto. Ahora tengo que
filtrar, si pongo el la columna del mes en la linea de criterios >=mes1 y
<=mes2 y en al columna del año >=año1 y <=año2 si en en el form poengo desde
enero de 2000 a diciembre de 2010 todo funciona ok, pero si pongo de marzo
de 2000 a diciembre de 210 ya no me funciona porque la consulta trata por
separado el mes y el año, es decir, no me coje los meses de marzo, de 2000 a
diciembre de 2000 y luego enero de 2010, marzo de 2001 porque enero y febero
son menores que marzo. He intentado poner en la consulta un criterior que
diga (mes(fecha)>=mes1 y año(fecha)>=año2) y (mes(fecha)<=mes2 y
año(fecha)<=año2) poniendo paraentesis para que me filtre primero por mes y
año con el mes y año inicial elegido y luego por el final) pero access se
empeña en separarlo y dejarlo como lo que os decia al principio. ¿Alguien ha
hecho algo similiar y le ha pasado lo mismo? acepto ideas. Habia pensado en
crear un campo que fuese una cadena formada por el mes y el año, pe. marzo
2000 -> 0300 junio 2008 ->0608 y asi poder comparar con el mes y el año que
haya elegido en el form que tambien lo pasaria a esa cadena, pero supongo
que habra alguna forma mejor.

como siempre, gracias




__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 5173 (20100604) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.com

Preguntas similare

Leer las respuestas

#1 julian-vlc-sp
05/06/2010 - 13:33 | Informe spam
¡Importante!: Colabora con el grupo.Contesta a este mensaje
y dinos si te sirvió o no la respuesta dada. Muchas gracias.

Te propongo lo siguiente

En la consulta crea un campo calculado que sea mas o menos

a: formato(Fechaventa;"aaaamm")

Esto de devolverla 200904 para abril del año pasado, 201003 para marzo de
este año, etc.

En el form, aunque sean controles ocultos debes tener dos controles mas
menos como sigue

Inicio --> añomes --> 200904

Fin --> añomes --> 201003

Estos valores los puedes formar con los años y meses que ahora solicitas

Teniendo esto, en la consulta, como criterio del campo calculado a pon algo
parecido a

Entre ControlInicioDel Formulario Y ControlFinDelFormulario


SALUDOS.
Julián-Valencia-España
http://www.tinyurl.com/julianvalencia


"Bluey" escribió en el mensaje
news:%
Hola amigos, estos con una estadisticas y tengo que hacer una consulta que
filtre por un rango de mes y año. En un form elijo el mes y el año inicial
(con 2 listas desplegable) y lo mismo para el mes y el año final. En la
consulta tengo la fecha de venta y he añadido un campo mes:mes(fecha) y
otro campo año:año(fecha) y me da el mes y el año, correecto. Ahora tengo
que filtrar, si pongo el la columna del mes en la linea de criterios
>=mes1 y <=mes2 y en al columna del año >=año1 y <=año2 si en en el form
poengo desde enero de 2000 a diciembre de 2010 todo funciona ok, pero si
pongo de marzo de 2000 a diciembre de 210 ya no me funciona porque la
consulta trata por separado el mes y el año, es decir, no me coje los
meses de marzo, de 2000 a diciembre de 2000 y luego enero de 2010, marzo
de 2001 porque enero y febero son menores que marzo. He intentado poner en
la consulta un criterior que diga (mes(fecha)>=mes1 y año(fecha)>=año2) y
(mes(fecha)<=mes2 y año(fecha)<=año2) poniendo paraentesis para que me
filtre primero por mes y año con el mes y año inicial elegido y luego por
el final) pero access se empeña en separarlo y dejarlo como lo que os
decia al principio. ¿Alguien ha hecho algo similiar y le ha pasado lo
mismo? acepto ideas. Habia pensado en crear un campo que fuese una cadena
formada por el mes y el año, pe. marzo 2000 -> 0300 junio 2008 ->0608 y
asi poder comparar con el mes y el año que haya elegido en el form que
tambien lo pasaria a esa cadena, pero supongo que habra alguna forma
mejor.

como siempre, gracias




__________ Información de ESET NOD32 Antivirus, versión de la base de
firmas de virus 5173 (20100604) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.com




Respuesta Responder a este mensaje
#2 Ignacio
07/06/2010 - 12:05 | Informe spam
Hola, Bluey!

Si lo que quieres es seleccionar las fechas comprendidas entre un mes
y año inicial y otro mes y año final, en realidad, la condición sería:
WHERE (Year(Fecha)>AñoIni Or Year(Fecha)=AñoIni And
Month(Fecha)>=MesIni) And (Year(Fecha)<AñoFin Or Year(Fecha)=AñoFin
And Month(Fecha)<=MesFin)

Para evitar complicaciones utiliza el operador Between:
WHERE Fecha Between "01/" & MesIni & "/" & AñoIni And "01/" & MesFin &
"/" & AñoFin

Espero que te sirva de algo.
Un saludo,
Ignacio.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida