Access - Filtrar un informe mediante between en un campo

 
Vista:

Filtrar un informe mediante between en un campo

Publicado por FILTRAR UN INFORME (63 intervenciones) el 10/12/2002 12:54:57
Tengo una informe enlazado a una tabla donde pido una fecha por un inputbox y lo que quiero hacer es filtrar el informe mediante un between de un campo con la fecha introducida. Ejemplo:

[data inici fabricació] between # " & DataInici - Day(3) & "# and #" & DataInici - Day(3).

He provado esto pero no funciona, y en teoria esta bien, no??

Mi pregunta es, puede ser k Access y sus famosas consultas hagan una cambio en el formato de la fecha de d/m/aa --> m/d/aa. y por eso no funciona, Yo creo que ese es el fallo pero no se como solucionarlo.

HELP ME!! Anybody have a solution??
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Filtrar un informe mediante between en un campo

Publicado por Alejandro (4142 intervenciones) el 25/04/2023 20:51:33
Sí, es posible que el problema esté relacionado con el formato de la fecha. Access utiliza el formato de fecha que está configurado en el panel de control de Windows, por lo que si la configuración de fecha y hora es diferente en el ordenador donde se ejecuta el informe, podría haber problemas de formato.

Para solucionar esto, puedes asegurarte de que las fechas se ingresen en el formato correcto en el inputbox y luego utilizar la función Format para formatear la fecha de acuerdo con el formato de Access.

Por ejemplo, si el formato de fecha de Access es m/d/yy, puedes formatear la fecha ingresada de la siguiente manera:

1
2
3
4
5
6
7
8
9
10
11
12
Dim strFecha As String
strFecha = InputBox("Introduce la fecha en formato dd/mm/aa")
Dim fecha As Date
fecha = CDate(strFecha)
Dim fechaInicio As Date
fechaInicio = fecha - 3
Dim fechaInicioFormateada As String
fechaInicioFormateada = Format(fechaInicio, "mm/dd/yy")
Dim fechaFormateada As String
fechaFormateada = Format(fecha, "mm/dd/yy")
 
DoCmd.OpenReport "NombreInforme", acViewPreview, , "[data inici fabricació] BETWEEN #" & fechaInicioFormateada & "# AND #" & fechaFormateada & "#"

En este ejemplo, se convierte la fecha ingresada en un valor de fecha utilizando la función CDate y luego se formatea utilizando la función Format para que tenga el formato de fecha correcto para Access. Luego se utiliza la condición BETWEEN en la cláusula WHERE de la consulta para filtrar los registros según las fechas ingresadas.

Espero que esto te ayude a solucionar el problema.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar