No coinciden tipo de datos en consulta SQL

^Neo^
29 de Abril del 2004
Hola, tengo que hacer una consulta a una base de datos que me saque los resultados de las asistencias técnicas realizadas por la empresa en un periodo de tiempo a elegir. Para eso tengo dos dtpickers para que el usuario elija el rango de fecha en que quiere buscar. Tiene también la opción de ordenar por fecha de la Asistencia o por Código del técnico. El fragmento de código en que construyo la consulta SQL y la ejecuto es el siguiente:

If optOrde(0).Value = True Then orde = " ORDER BY CodTec" ' Ordena por código de técnico
If optOrde(1).Value = True Then orde = " ORDER BY Fecha" ' Ordena por fecha

If chkFiltro.Value = 1 Then ' Si se quiere sacar los resultados de un rango de fecha y no todos los resultados
If DTFiltroData(0).Value > DTFiltroData(1).Value Then 'Si la fecha inicial es mayor que la final
Notificacion 20 ' Avisa que la fecha inicial debe ser menor
Exit Sub ' y sale del procedimiento
End If

' Si el rango de fecha está bien introducido construimos la condición
filtro = " WHERE Fecha BETWEEN '" & DTFiltroData(0).Value & "' AND '" & DTFiltroData(1).Value & "'"
End If

' La sentencia SQL es la resultante de la siguiente unión de cadenas
SSql = "SELECT * FROM Asistencia" & filtro & orde

With frmAcceso
' Cerramos el recordset Asistencia si está abierto
FechaAsistencia

.Asistencia.Source = SSql
.Asistencia.CursorLocation = adUseClient

' Ejecutamos la consulta
.Asistencia.Open SSql, .Asistencias, adOpenKeyset, adLockOptimistic

' ****************************************************************
' Llegado a este punto me dice que no coinciden los tipos de datos e imagino que se debe a las fechas. ¿Qué hago? Gracias de antemano

rafa
29 de Abril del 2004
prueba a poner la fecha en formato dd/mm/yyyy ó en mm/dd/yyyy .
Prueba tb a ponerla entre # en vez de entre '.
Sera una forma u otra dependiendo de varias razones (tipo de conexion, formato de fecha en windows...)
Espero que esto te ayude
Rafa

^Neo^
29 de Abril del 2004
Gracias Rafa por tu ayuda. He usado # y bueno, me voy acercando... ahora ya no me dá un fallo en los datos, pero al hacer el between me funciona para algunas fechas y para otras no. En fin, gracias por tu ayuda. Ahora ya tendré que ir afinando poco a poco... :-) Saludos,
^Neo^