ahun no se como hacerlo

andru1x
13 de Enero del 2004
tengo una base de datos en access97 y queiro saber como hago desde un formulario para filtrar por el campo fecha los registros.y despues asignarlos a un data report.
el formulario tiene dos DtPicker para que el usuario pueda seleccionar la fecha inicial y la fecha final y luego hacer un clik para mostrar los registros correspondientes a las dos fechas seleccionadas


Baltasar
13 de Enero del 2004
pues la sentencia select podría ser así:

"select * from tabla where fecha between datevalue('" & str(dtpicker1) & "') and datevalue('" & str(dtpicker1) & "')"

mucho ojo con las comillas simples

Espero que te sirva.

andru1x
13 de Enero del 2004
GRACIAS
pero donde exatamente lo hago creo que estoy mesclando las cosas te muestro el codigo talves puedas decirme que hago mal


Option Explicit
Private base As ADODB.Connection
Private WithEvents Rs As ADODB.Recordset


Private Sub Form_Load()
Dim Finicial As Date
Dim Ffinal As Date

Const RutaDeAcceso As String = "C:Documents and SettingslMis documentosdatos.mdb"
Set base = New ADODB.Connection
Set Rs = New ADODB.Recordset

With base
.ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51;" & _
"Data Source=" & RutaDeAcceso & ";"

.Open
End With
Rs.Open "SELEC* FROM egresos WHERE fecha between datevalue('" & Str(DTPicker1) & "') and datevalue('" & Str(DTPicker1) & "')", base, adOpenDynamic


End Sub

es que recien estoy aprendiendo no se que significa esto "between" y " datevalue"

rafa
13 de Enero del 2004
Hola andrux.
Yo creo que seria asi:

Rs.Open "SELECT * FROM egresos WHERE fecha between '" & datevalue(DTPicker1) & "' and '" & datevalue(DTPicker2) & "' ", base, adOpenDynamic

Aunque yo no utilizaria el datavalue (el datapicker ya devuelve una fecha.

Datevalue es una funcion de vb no de SQL por lo tanto deberia ir fuera de las comillas

Por otro lado, hay que tener cuidado con el between (entre una fecha y otra) pq si en la fecha no indicas la hora te cuenta hasta las 0 horas del dia, es decir si en tu bd tienes registros con horas, los que correspondan al dia del datapicker2 no saldrian en la seleccion.

Si me equivoque en algo, por favor decidmelo. Ya sabeis como es esto, uno se acostumbra a trabajar de una forma y luego...
Un saludo