Aplicar más de 2 filtros en access 2003

Quisiera saber si puedes ayudar, ya que estoy trabajando en access 2003 y debo aplicar más de 2 filtros para mostrar en el informe que se desea imprimir; los filtros se hacen por casilla de verificación el cual se activa y se pueden ingresar datos, los filtros se activan mediante casillas de verificación y existe un botón de vista previa el cual al darle click debe mostrar el informe mediante cualquiera de los 3 filtros activados, lo que yo se manejar en los informes es que se debe hacer una consulta, pero no se que parámetros debe llevar dicha consulta, probé colocando en criterios de la consulta escribiendo [Fecha de inicio] and [Fecha de fin] (ya que los filtros que debo realizar son por fecha, responsabilidad y técnico) y al mostrarme el informe me aparece un cuadro de dialogo en el que yo puedo escribir; pero no lo quiero así; lo que quiero es activar el cuadro de texto para poder escribir mediante la casilla de verificación y al momento de hacer click en vista previa me muestre el informe y no me aparezca el cuadro de dialogo, si no el informe con los filtros seleccionados, de verdad si me puedes ayudar te lo agradecería.

2 Respuestas

Respuesta
1
Lo que puedes hacer es lo siguiente:
1- Realizar un formulario que contenga los campos disponibles para realizar el filtro, adicionalmente le debes de colocar un botón para la vista previa del informe.
2- Diseñar el informe que se adapte a tú necesidad.
3- Abres el informe en "Modo de Diseño"
4- Cuando tengas el informe en "Modo de Diseño", hubicas en las propiedades de este, en el origen de control del informe, y le das click en "..." (tres puntos que aparecen a la derecha del origen de control), cuando realices esto se abre el generador de consultas (Similar a una consulta)
5- En los criterios de la consulta, hubicas los campos en los cuales se debe de aplicar los filtros y colocas el siguiente criterio: =FORMS! NombreFormulariosReportes! NombreCampo y así para los 3 campos por los que deseas aplicar el filtro.
6- En el boto que creo para la vista previa del informe, en el evento Click" le colocas el código: DoCmd.OpenReport "NombredelInfome", Previo
Trata de hacerlo y me cuentas.
Respuesta
1
Un informe se puede abrir inmediatamente con filtros con el comando DoCmd. OpenReport. Debes utilizar un campo del mismo informe como rango. Ejemplo.
Si tienes un informe llamado "MiInforme", con un campo fecha, y en el formulario existen dos textos llamados fecha1 y fecha2 respectivamente. Entonces:
DoCmd.OpenReport  "MiInforme", AcViewPreview, , "fecha >= '" & me.fecha1 & "' and fecha <='" & fecha2 & "' "
Esta misma idea se aplica para cualquier filtro.
Hola como estas, con el código que me distes lo adapte como mis valores reales, y al ejecutarlo me da un error que me dice que se requiere un objeto, te comento en mi tabla tengo un campo donde almacena la fecha en la cual se hace el reporte y carga mediante el formulario, pero para el informe coloque 2 cuadro de texto para ingresar el rango de fechas que deseo hacer el filtro no se si eso tengo algo que ver de verdad que agradecería que me ayudes, espero una pronta respuesta de tu parte. Muchas gracias.
El campo Fecha tiene que ser parte del informe.
Y en la zona criterio se ponen los textos como te indiqué arriba. Si no te resulta debes poner el filtro en la consulta que alimenta al informe
Hola como estas, si el campo fecha esta en el informe como tal, la duda que tengo es que en mi tabla yo tengo un solo campo llamado fecha, igual para la consulta e informe, pero para hacer el filtro tengo 2 campos texto que se ingresan el rango de fechas para hacer el filtro los cuales son fecha1 y fecha2, lo cual no se si eso influye en algo porque me da ese error de que se requiere un objeto; y si coloco en la zona de criterios de la consulta esos textos me aparece es un cuadro de dialago lo cual no lo quiero así para eso coloque los 2 cuadro de texto y se ingresen los valores, y no te entendí la parte de poner el filtro en la consulta que alimente al filtro, espero que me puedas ayudar. Gracias
Si tienes un campo fecha en el informe ese es el que tiene que aparecer en cierto rango, por ejemplo, todos los artículos vendidos entre el 01/03/2009 y el 11/03/2009.
Una fecha en el informe pero el rango lo tienes en el formulario con dos campos de texto.
Ahora bien, en access la fecha se trabaja enternamente en formato americano mes/dia/año y encerrada con el símbolo "#".
Entonces supongamos que tus campos de texto se llaman fecha1 y fecha2 respectivamente. Entonces para llamar al informe pones.
dim f1,f2 as String
f1=month(cdate(me.fecha1)) & "/" & day(cdate(me.fecha1)) & "/" & year(cdate(me.fecha1))
f2=month(cdate(me.fecha2)) & "/" & day(cdate(me.fecha2)) & "/" & year(cdate(me.fecha2))
Una vez transformadas , las fechas se usan para el filtro.
DoCmdOpenreport "NombreInForme",AcViewPreview, , "Fecha >= #" & f1 &"# and fecha <= #" & f2 & "# "

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas