No coinciden los tipos en la función Dlookup

Tengo una tabla llamada histórico con los siguientes campos: Nombre; FechaEntrada;FechaSalida; HoraEntrada; Hora salida... ¿El caso es que tengo el siguiente código (lo pondré al final)... Si pongo en la tabla el tipo de datos como texto no hay ningún problema pero si lo pongo como Fecha/Hora me salta un mensaje de error de que no coinciden los tipos... Como debería hacer para que la variable xbusca2 me busque también campos de Horas... Es la misma función o debería usar otra?...
Private Sub ctlEntrada_Click()
xBusca = DMax("FechaEntrada", "HoraS3DMax", "[Nombre] = txtUsuario")
xbusca1 = DMax("HoraEntrada", "HoraS3DMax", "[FechaEntrada] ='" & xBusca & "' and [Nombre]= txtUsuario")
xbusca2 = DLookup("[HoraSalida]", "HoraS3DMax", "[Nombre] = '" & txtUsuario & "' and  [FechaEntrada] = '" & xBusca & "' and  [HoraEntrada] = '" & xbusca1 & "'")
If IsNull(xbusca2) Then
Call MsgAviso("Hora Entrada", "No se puede fichar una Entrada sin haber salido previamente")
Else
Set db = CurrentDb
Set Rst = db.OpenRecordset("Historico")
With Rst
.AddNew
!Nombre = txtUsuario
!FechaEntrada = Date
!HoraEntrada = Time
!HoraLaboral = ctlLaboral
!HoraExtra = ctlExtra
.Update
End With
Rst.Close
Call MsgFichar("Hora Entrada", "Se fichó la entrada a las " & Time)
End If
End Sub
Espero haberme explicado bien... Me estoy volviendo loco con este tema... Una única aclaración es que la consulta HoraS3Dmax es una consulta ordenada para que me funcionen correctamente las funciones Dmax... No tienen ninguna otra función...
Respuesta
1
No te coinciden los tipos porque no estas colocándolo como formato fecha/hora te explico
cuando es texto lo encierras entre comillas ej: "fecha"
Pero si es formato fecha/hora debe ser # fecha # eso es todo
prueba y me avisas a ver que tal
Me podrías modificar el código que te he puesto a como debería quedar... ya que lo he intentado cambiar pero no consigo saber exactamente donde he de sustituir las " por #... siempre me sale a un error de sintaxis o un mensaje de error diciendo que se esperaba expresión
xbusca2 = DLookup("[HoraSalida]", "HoraS3DMax", "[Nombre] = # " & txtUsuario & " # and [FechaEntrada] = # " & xBusca & " # and [HoraEntrada] = # " & xbusca1 & "#")
Allí te coloque como que todos fueran formato fecha/hora

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas