Fechas

pepoCo
19 de Diciembre del 2005
Hola buenos dias, alguien me puede decir como hacer una busqueda por una base de datos a traves de la fecha.
Yo tengo una tabla que contiene el campo fecha, y mas datos y un formulario que tiene dos controles dtpicker, lo que yo quiero es que al seleccionar un intervalo de fechas con los dos dtpicker me haga la busqueda por la base de datos.
Es urgente, gracias.

Baltasar
19 de Diciembre del 2005
Pues la sentencia SQL sería:

"select * from tabla where fecha between datevalue('" & cstr(dtpicker1.value) & "') and datevalue('" & cstr(dtpicker1.value) & "') order by . . . . "

Saludos

pepoCo
19 de Diciembre del 2005
Me podrias decir como se hace eso mismo con filter porque yo hice lo siguiente y me da un error.
rst.Filter = "Fecha like '" & Text9.Text & and Fecha like & Text10.Text & "'"


Gracias

Baltasar
19 de Diciembre del 2005
rst.Filter = "Fecha between datevalue('" & Text9.Text & "') and datevalue('" & Text10.Text & "')"


Creo que así te funcionará.

pepoCo
19 de Diciembre del 2005
No me funciona, da un error que pone que los argumentos son incorrectos o que esta fuera de intervalo

mariofer
19 de Diciembre del 2005
Los errores pueden estar en las comillas, revisa este código.

"select * from tabla where fecha between "& cdbl(dtpFechaIni.value) &" And "& cdbl(dtpFechaFin.value) &""
Nota: las fecha se almacena como un numero secuencial y pueden ser consultadas como tales. Además la conversión de la fecha a numero evita las confusiones del motor de la base a la hora de interpretar la cadena pasada como parámetro.
Ejemplo:
No es lo mismo.
"10/10/2003" ----- Cual es el día y cual es el mes.
pero si es lo mismo.
A=cdbl(fecha) -----en cualquier formato.



Baltasar
19 de Diciembre del 2005
yo siempre he usado datevalue, y si miras la ayuda de Visual te lo propone como "solución" al problema de las configuraciones regionales.

De cualquier manera, la pregunta era cómo hacer lo mismo pero en un filter.

Saludos

pepoCo
19 de Diciembre del 2005
Gracias ya me funciona.

ojeador
19 de Diciembre del 2005
y ... ¿cual ha sido la solución?