Error 13 en vb6 al consultar mi sentencia sql a una base de datos access con un campo Fecha/Hora

Hola!! Espero puedan ayudarme con mi problema!!

Tengo una base de datos en access que pertenece a un reloj de marcación y tiene un campo: Checktime de tipo Fecha/Hora.

A la hora de conectarme a la bd access(todo correctamente) pero a la hora de hacer mi consulta sobre que me muestre solo los registros que sean mayor a una fecha que yo le mando como parámetro me sale el error 13 en tiempo de ejecución los tipos no coinciden.

Ahí le muestro una parte del código:

es un procedimiento que me hace la consulta a la base de datos del reloj Iface.

Private Sub CargaAsistenciaiface(pTabla As Integer)
Dim rsBiface As New ADODB.Recordset
Dim rsTmp As New ADODB.Recordset
Dim strBiface As String
Dim lvsSQL As String
Dim lvdFechaIni As String
Dim lvdFechaFin As String
Dim lvhora As String

Dim fecIni as date

fecIni=CDate(txtfecIni.Text) //esto me retorna ejemplo: '05/06/2014'
Select Case pTabla
Case 1
strBiface = " Select nTerminalID, nFingerPrintID, Log_Date, " & _
" Log_Time, nVerifyResult, nFunctionKey, bConverted " & _
" from LogInfo"
Case 2 //aquí entra mi debug

' este es mi error cuando hago una consulta a la tabla Checktime y filtro que sean mayor a 'la fecha que yo mando como parámetro me sale el error 13. Sin embargo en access si hago 'esta consulta me sale correctamente. Otro dato si le quito la sentencia where y hago la 'consulta todo sale correctamente tambien. Les agradeceria mucho por su ayuda.
strBiface = " Select Badgenumber,Checktime " & _
" from Checkinout c inner join Userinfo u " & _
"on c.Userid=u.Userid where Checktime > #" +fecIni +"#"
End Select
rsBiface.Open strBiface, cnxiface, 3, 3
frmProgresBar.Caption = "Datos de Asistencia"
frmProgresBar.lblMsg.Caption = "Cargando Datos de Asistencia"
frmProgresBar.pb.Max = rsBiface.RecordCount + 1
frmProgresBar.Refresh
frmProgresBar.Show
Do While Not rsBiface.EOF
If pTabla = 1 Then
If rsBiface.AbsolutePosition = 1 Then
lvdFechaIni = FormatoFechaiface(rsBiface("Checktime"))
ElseIf rsBiface.AbsolutePosition = rsBiface.RecordCount Then
lvdFechaFin = FormatoFechaiface(rsBiface("Checktime"))
End If
ludtReg.AsiFec = FormatoFechaiface(rsBiface("Checktime"))
ludtReg.AsiHora = FormatoHoraiface(rsBiface("Checktime"))
ludtReg.AsiHorReal = FormatoHoraiface(rsBiface("Checktime"))
ludtReg.PerMarcacion = Right(rsBiface("nFingerPrintID"), gvsNumCarMar)
ludtReg.AsiAno = Year(rsBiface("Checktime"))
Else
If rsBiface.AbsolutePosition = 1 Then
lvdFechaIni = FormatoFechaiface(rsBiface("Checktime"))
ElseIf rsBiface.AbsolutePosition = rsBiface.RecordCount Then
lvdFechaFin = FormatoFechaiface(rsBiface("Checktime"))
End If
ludtReg.AsiFec = FormatoFechaiface(rsBiface("Checktime"))
ludtReg.AsiHora = FormatoHoraiface(rsBiface("Checktime"))
ludtReg.AsiHorReal = FormatoHoraiface(rsBiface("Checktime"))
ludtReg.PerMarcacion = CEROS(rsBiface("Badgenumber"), CInt(gvsNumCarMar))
ludtReg.AsiAno = Year(rsBiface("Checktime"))
End If
'Verifica si existe la marca en la tabla de asistencia
rsTmp.Open "EXEC sp_Busca_Marca '" & ludtReg.AsiFec & "','" & ludtReg.AsiHora & "','" & ludtReg.PerMarcacion & "'", gCnx, adOpenStatic, adLockPessimistic
'Si no existe la marca en la tabla de asistencia
If rsTmp.BOF Or rsTmp.EOF Then
lvsSQL = "INSERT INTO tAsistencia "
lvsSQL = lvsSQL + " (AsiFec, AsiHora, PerMarcacion,"
lvsSQL = lvsSQL + " AsiAno, AsiNroEquipo, AsiEvento,AsiHorReal,AsiTecFun) "
lvsSQL = lvsSQL + " VALUES ( "
lvsSQL = lvsSQL + "'" & ludtReg.AsiFec & "', "
lvsSQL = lvsSQL + "'" & ludtReg.AsiHora & "', "
lvsSQL = lvsSQL + "'" & ludtReg.PerMarcacion & "', "
lvsSQL = lvsSQL + "'" & ludtReg.AsiAno & "', "
lvsSQL = lvsSQL + "'000', "
lvsSQL = lvsSQL + "'0', "
lvsSQL = lvsSQL + "'" + ludtReg.AsiHorReal + "', "
lvsSQL = lvsSQL + "'0')"
gCnx.Execute (lvsSQL)
End If
rsTmp.Close
rsBiface.MoveNext
If rsBiface.BOF Or rsBiface.EOF Then
frmProgresBar.pb.Value = rsBiface.RecordCount
Else
frmProgresBar.pb.Value = rsBiface.AbsolutePosition
End If
frmProgresBar.Refresh
Loop
rsBiface.Close
Set rsBiface = Nothing
Set rsTmp = Nothing
'Verifica como se determina el tipo de marca
'Si el Terminal determina el tipo de marca
If gvsTipoMarca = "1" Then
gCnx.Execute "EXEC sp_Actualiza_Tipo_Marca_por_Reloj"
'O si lo determina el Horario o Turno Asignado
ElseIf gvsTipoMarca = "2" Then
'Evalua si es marca de ingreso
gCnx.Execute "EXEC sp_Actualiza_Tipo_Marca_Ingreso"
'Evalua si es marca de salida
gCnx.Execute "EXEC sp_Actualiza_Tipo_Marca_Salida"
End If
Select Case pTabla
Case 1
cnxiface.Execute "delete from LogInfo"
Case 2
cnxiface.Execute "delete from checkinout"
End Select
Unload frmProgresBar
End Sub

Añade tu respuesta

Haz clic para o