Problemas con Filtros

Hola estoy haciendo una base de datos en access 2003, soy novato. Este es el caso, Tengo 2 formularios uno es un filtro y el otro me muestra los resultados del filtro, Filtro por fechas (fecha inicial y final). El segundo formulario muestra los datos según el filtro, en el encabezado he puesto cuadros independientes que cuentan registros.
Este es el problema, supongamos que se ingresan 2 registros en dos campos Fecha y TipoDepersona: 1/1/2010-> propietario y 31/12/2010 -> Residente. Si yo no aplico el filtro el formulario muestra todos los registros y los 2 cuadros indepedientes que están en el encabezado muestran los sig: 1erdo cuadro muestra, los Propietarios = 1 y el 2do cuadro los Residentes = 1; Pero cuando aplico el filtro la información no es correcta por ejemplo en el filtro coloco fecha inicial 1/12/2010 y fecha final 31/12/2010  se muestra los registros que hay en esta fecha (solo existe uno según el ejemplo anterior 31/12/2010) pero los cuadros independientes siguen mostrando la misma información y lo lógico seria que muestre Propietarios = 0 y Residente = 1: Así calcule el cuadro independiente =DCont("[TipoPersona]";"[Persona]";"[TipoPersona] = 'Residente'") y así diseñe el formulario filtro
stDocName = "ConsultadeRegistros"
DoCmd.OpenForm stDocName, , , LinkCriteria
    Else
stLinkCriteria = "FechaReg >= #" & Me.FechaInicio & "# and FechaReg <= #" & Me.FechaFin & "# And [Actividad]=" & "'" & Me![Act] & "'"
DoCmd.OpenForm stDocName, , , stLinkCriteria.
Muchas gracias

1 Respuesta

Respuesta
1
Creo que el problema que tienes es que activar el filtro para que funcione, es fácil.
Simplemente en el else, después de abrir el formulario añade la siguiente linea de código.
Form.FilterOn = True
quedaria asi:
Else
stLinkCriteria = "FechaReg >= #" & Me.FechaInicio & "# and FechaReg <= #" & Me.FechaFin & "# And [Actividad]=" & "'" & Me![Act] & "'"
DoCmd.OpenForm stDocName, , , stLinkCriteria.
Form.FilterOn = True
Muchas gracias por tu atención pero el problema no es en si el filtro si no cuando este abre el formulario donde se encuentra la información por que cuando quiero indicar los valores de los campos el nunca los cuenta bien es decir, cuando yo utilizo el filtro el abre otro formulario y muestra los registro según los datos que proporcione pero los cuadros independientes donde yo cuento los datos no tienen en cuenta los filtros ellos cuentan siempre los totales sin tener en cuenta las fechas.
Muchas Gracias por tu dedicación
Ok, entonces lo que debes hacer es cambiar es el origen de datos del formulario, ya que con filtros, los datos siempre son los mismos y los cuenta todos aunque solo te muestre los filtrados.
Para cambiar el origen de datos del formulario es simple, añadiendo los filtros que quieres.
Me.Form.RecordSource = "Select Campo1, Campo2 FROM MiTabla WHERE FechaReg >= #" & Me.FechaInicio & "# and FechaReg <= #" & Me.FechaFin & "# And [Actividad]=" & "'" & Me![Act] & "'"";
Así vuelve a cargar el origen de datos, y solo recoge los registros que cumplan las condiciones.
Solo cambia los valores Campo1, CAmpo2 por los campos de tu tabla, no vale *, y separados por la coma, y MiTabla, por la tabla de donde se obtienen los datos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas