Access - Condicion WHERE para restringir registros en informe

 
Vista:
sin imagen de perfil

Condicion WHERE para restringir registros en informe

Publicado por David (12 intervenciones) el 09/11/2013 18:43:28
Hola a todos.

Recurro de nuevo a este foro porque en una ocasion me fue de gran ayuda. Mi problema es el siguiente:

Tengo un informe que me muestra los registros de varios clientes. Entre los campos del cliente hay uno que es la fecha de alta (a la que llamo 'INICIO').
Por otro lado tengo un botón en un formulario que me abre el informe y muestra esos registros, pero solo quiero que me muestre por defecto los clientes cuya fecha corresponda CON EL MES ACTUAL Y EL SIGUIENTE, asi que en la macro que me abre el informe tengo una clausula where del siguiente tipo:

Año([INICIO])=Año(Ahora()) Y Mes([INICIO])=Mes(Ahora()) Y Año([inicio])=Año(Ahora()) Y Mes([INICIO])=Mes(Ahora())+1

O sea le digo que me muestre los clientes cuya fecha de alta corresponda con el año actual, el mes actual y el siguiente. El problema es que ME DEVUELVE REGISTROS DUPLICADOS.

He probado la clausula de varias formas pero solo me funciona correctamente, sin duplicados, cuando la simplifico, asi:


Año([INICIO])=Año(Ahora()) Y Mes([INICIO])=Mes(Ahora())

o así


Año([INICIO])=Año(Ahora()) Y Mes([INICIO])=Mes(Ahora())+1

Hay una solución obvia que es emitir dos informes, pero yo necesito que lo haga todo en uno solo, y además, me separe los clientes por ejemplo, en una hoja los del mes de noviembre y en otra los de diciembre, aunque esto último no se si será posible.

En fin gracias por adelantado. Espero haberme explicado bien.
Saludos.
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
sin imagen de perfil

Condicion WHERE para restringir registros en informe

Publicado por David (12 intervenciones) el 09/11/2013 19:14:33
[EDITADO] Ya descubrí el error. Efectivamente me mostraba los duplicados, porque por motivos que desconozco, se me duplicaron registros en la tabla clientes! luego la consulta de seleccion estaba bien, es un alivio.
No obstante sigue vigente mi segunda duda, es decir puedo en un mismo informe, hacer que me muestre el encabezado con los registros del mes actual y luego en otra pagina mostrar de nuevo el encabezado con los registros del mes siguiente? Saludos y perdon por las molestias.
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
Imágen de perfil de Norberto
Val: 1.094
Oro
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Condicion WHERE para restringir registros en informe

Publicado por Norberto (753 intervenciones) el 11/11/2013 09:57:21
Hola.

Creo que el problema está en el segundo Y que debería ser O, quedando la expresión:

Año([INICIO])=Año(Ahora()) Y Mes([INICIO])=Mes(Ahora()) O Año([inicio])=Año(Ahora()) Y Mes([INICIO])=Mes(Ahora())+1

Esto te va a fallar en cuanto estés en diciembre, jejeje. Para evitarlo pon:

Año([INICIO])=Año(Ahora()) Y Mes([INICIO])=Mes(Ahora()) O Año([inicio])=Año(Ahora()) + Entero(Mes(Ahora()) / 12) Y Mes([INICIO])=(Mes(Ahora())+1) Mód 12

Un saludo,

Norberto.
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

Condicion WHERE para restringir registros en informe

Publicado por David (12 intervenciones) el 19/11/2013 13:24:21
Gracias Norberto por tomarte la molestia en contestar! Saludos!
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
Imágen de perfil de Norberto
Val: 1.094
Oro
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Condicion WHERE para restringir registros en informe

Publicado por Norberto (753 intervenciones) el 20/11/2013 12:52:43
Hola David.

Sinceramente, no es ninguna molestia el contestar. Si lo fuera no entraría en el foro. Lo que sí que es molestia es el no recibir comentario alguno a la respuesta indicando si sirve o no; no por uno mismo que, al fin y al cabo sólo emplea su tiempo en intentar ayudar a los demás, sino por el resto de los usuarios que no van a tener constancia de la validez de la respuesta.

Por ello y en nombre de los demás usuarios, agradezco tu respuesta.

Un saludo y a disfrutar de Access.

Nor.
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

Condicion WHERE para restringir registros en informe

Publicado por juan (1 intervención) el 20/03/2014 11:46:51
prueba esto:
Año([INICIO])=Año(Ahora()) Y Mes([INICIO])=Mes(Ahora()) O Año([INICIO])=Año(Ahora()) Y Mes([INICIO])=Mes(Ahora())+1
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