Filtros con recordset
Esto queriendo realizar un filtrado de un recordset entre unas fechas. Lo que no puedo hacer es, a ese filtro decirle que selecciones los registros entre dos criterios
Entonces lo que estoy haciendo es que me filtre los registros >= que la fecha inicial.
Luego descartos los que superan la fecha final.
La función pública de filtrado es la siguiente (aquí me faltaría agregar la opción de <= pero he probado varias formas y nada):
Public Function FiltraRec(rstrec As ADODB.Recordset, _
strReca As String, strRec As Date) As ADODB.Recordset
rstrec.Filter = strReca & " >= '" & strRec & "'"
Set FiltraRec = rstrec
End Function
Aquí en el formulario el usuario ingresó las fechas de selección de registros y están en estas variables:
fech_des = Format(desdet.Text, "dd/mm/yyyy")
fech_has = Format(hasta.Text, "dd/mm/yyyy")
Al nuevo recorset filtrado lo obtengo de esta manera y aquí es donde debería decirle que también use fech_has
Set rstrec = FiltraRec(DE1.rsrecauda, "FECHA", fech_des)
Espero tu respuesta, me imagino que debe ser sencillo una búsqueda entre dos opciones. Pero para mí hasta ahora ha sido un mundo.
Entonces lo que estoy haciendo es que me filtre los registros >= que la fecha inicial.
Luego descartos los que superan la fecha final.
La función pública de filtrado es la siguiente (aquí me faltaría agregar la opción de <= pero he probado varias formas y nada):
Public Function FiltraRec(rstrec As ADODB.Recordset, _
strReca As String, strRec As Date) As ADODB.Recordset
rstrec.Filter = strReca & " >= '" & strRec & "'"
Set FiltraRec = rstrec
End Function
Aquí en el formulario el usuario ingresó las fechas de selección de registros y están en estas variables:
fech_des = Format(desdet.Text, "dd/mm/yyyy")
fech_has = Format(hasta.Text, "dd/mm/yyyy")
Al nuevo recorset filtrado lo obtengo de esta manera y aquí es donde debería decirle que también use fech_has
Set rstrec = FiltraRec(DE1.rsrecauda, "FECHA", fech_des)
Espero tu respuesta, me imagino que debe ser sencillo una búsqueda entre dos opciones. Pero para mí hasta ahora ha sido un mundo.
Respuesta de andresmaga
1