Consultas sql con fechas
Hola muy buenas!
Resulta que me paso algo que no termino de comprender ni explicarme. En mi programa tengo la posibilidad de realizar diferentes consultas para la busqueda de registros. Bueno pues una de mis consultas es introduciendo la fecha y el programa te saca aquellos registros que hayan sido dado de alta en la fecha que introducimos. Mi problema esque depende del dia que le introduzca me devuelve registros o no. Me explico mejor yo por ejemplo tengo un registro dado de alta el 05/09/2003 y luego le doy a consultar por esa fecha y me dice que no hay ningun registro. En cambio para el dia 10/09/2003 si que me saca registros. Es decir que la consulta va cuando quiere y mas bien dependiendo del dia. Os muestro mi codigo por si veis algun error, porque no termino de explicarme esto de que vaya para unas fechas y otras no.
Dim Mensaje, Título, a
Dim strquery As String
Dim tRs As Recordset
Dim b As Date
On Error GoTo checkerror
Adodc2.Refresh
Mensaje = " Introduzca la fecha(dd/mm/aaaa) de alta de la Incidencia que desea consultar"
Título = "Consulta Incidencias"
a = InputBox(Mensaje, Título)
b = Format(a, "dd/mm/yyyy")
strquery = "SELECT * FROM incidencias where fechaalta= #" & b & "#"
Set tRs = mibase.Execute(strquery)
With tRs
If (.BOF And .EOF) Then
MsgBox "No hay ninguna incidencia para esta fecha.", vbExclamation, "Consulta Incidencias"
Else
alta.Hide
coninc.Show
coninc.Adodc1.RecordSource = strquery
coninc.Adodc1.Refresh
End If
End With
checkerror:
If (Err.Number = 13) Then
MsgBox "Ha introducido un formato de fecha incorrecto, introduzcala correctamente (dd/mm/aaaa)", vbExclamation, "Consulta Incidencias"
End If
Gracias.
Resulta que me paso algo que no termino de comprender ni explicarme. En mi programa tengo la posibilidad de realizar diferentes consultas para la busqueda de registros. Bueno pues una de mis consultas es introduciendo la fecha y el programa te saca aquellos registros que hayan sido dado de alta en la fecha que introducimos. Mi problema esque depende del dia que le introduzca me devuelve registros o no. Me explico mejor yo por ejemplo tengo un registro dado de alta el 05/09/2003 y luego le doy a consultar por esa fecha y me dice que no hay ningun registro. En cambio para el dia 10/09/2003 si que me saca registros. Es decir que la consulta va cuando quiere y mas bien dependiendo del dia. Os muestro mi codigo por si veis algun error, porque no termino de explicarme esto de que vaya para unas fechas y otras no.
Dim Mensaje, Título, a
Dim strquery As String
Dim tRs As Recordset
Dim b As Date
On Error GoTo checkerror
Adodc2.Refresh
Mensaje = " Introduzca la fecha(dd/mm/aaaa) de alta de la Incidencia que desea consultar"
Título = "Consulta Incidencias"
a = InputBox(Mensaje, Título)
b = Format(a, "dd/mm/yyyy")
strquery = "SELECT * FROM incidencias where fechaalta= #" & b & "#"
Set tRs = mibase.Execute(strquery)
With tRs
If (.BOF And .EOF) Then
MsgBox "No hay ninguna incidencia para esta fecha.", vbExclamation, "Consulta Incidencias"
Else
alta.Hide
coninc.Show
coninc.Adodc1.RecordSource = strquery
coninc.Adodc1.Refresh
End If
End With
checkerror:
If (Err.Number = 13) Then
MsgBox "Ha introducido un formato de fecha incorrecto, introduzcala correctamente (dd/mm/aaaa)", vbExclamation, "Consulta Incidencias"
End If
Gracias.
Aunque tengas la fecha en formado dd/mm/yyyy en la base de datos, en el sql tienes que ponerla como mm/dd/yyyy:
b = Format(a, "mm/dd/yyyy")
strquery = "SELECT * FROM incidencias where fechaalta= #" & b & "#"
Al menos a mi esto me funciona.
b = Format(a, "mm/dd/yyyy")
strquery = "SELECT * FROM incidencias where fechaalta= #" & b & "#"
Al menos a mi esto me funciona.
