Aplicar un filtro de fecha a unos registro agrupados en un subformulario

Necesito ayuda para aplicar un doble filtro para visualizar unos datos en un subformulario.

Tengo una tabla que contiene una serie de localizaciones en las cuales se toman medidas periódicas. Lo que intento conseguir es poder ver en un subformulario los últimos registros de cada localización anteriores a una fecha que yo le pida. Es decir, yo quiero poder escribir una fecha concreta en el formulario y que me muestre en el subformulario las últimas medidas, anteriores a esa fecha, para cada uno de las localizaciones medidas.

1 Respuesta

Respuesta
2

Apenas he entendido la pregunta, pero por si lo que he creído es parecido. Si tengo la tabla

Creo una tabla exactamente igual Aux pero vacía. Con esta hago un formulario tabular, que usaré como subformulario

En el formulario Formulario1 tengo un cuadro de texto Texto2 donde voy a escribir una fecha

Cuando pulso Enter, me crea tantos registros como localizaciones hay

Si luego pulso el botón Comando7 del subformulario

Me muestra los registros inmediatamente anteriores a la fecha que he escrito.

El código del cuadro de texto Texto2 del formulario es

Private Sub Form_Close()
DoCmd.RunSQL "delete * from aux"
End Sub
Private Sub Texto2_AfterUpdate()
DoCmd.RunSQL "delete * from aux"
DoCmd.RunSQL "insert into aux(localizacion) select localizacion from tabla1 group by localizacion"
Me!Tabla1.Form.Requery
End Sub

Le pongo la instrucción de Al cerrar para que te "deje limpio" el formulario para posteriores usos. También se lo pongo en el Texto2, por si quisieras cambiar de fecha

El código del botón del subformulario es

Private Sub Comando7_Click()
DoCmd.GoToRecord , , acFirst
Dim i As Byte
For i = 1 To Me.Recordset.RecordCount
Fecha = DLast("fecha", "tabla1", "fecha<=forms!formulario1!texto2 and localizacion='" & Me.Localizacion & "'")
Cantidad = DLast("cantidad", "tabla1", "fecha<=forms!formulario1!texto2 and localizacion='" & Me.Localizacion & "'")
DoCmd.GoToRecord , , acNext
Next
End Sub

Muchas Gracias

Siento si no me he explicado bien, pero has entendido justo lo que buscaba y has resuelto mi duda.

Un saludo.

Hay muchas formas, pero al no saber como tienes construido el formulario. En el ejemplo son independientes. Lógicamente, si fueran dependientes, sería mucho más sencillo. E incluso, podrías sustituir el cuadro de texto por un combinado. Personalmente, prefiero "elegir" antes que escribir.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas