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


0