¿Cómo actualizar en el mismo registro de ingreso la hora de salida en mi tabla?
Tengo una tabla donde guardo el ingreso del usuario al sistema, ahora quisiera actualizar en el mismo registro de ingreso la Hora de salida. He probado esta rutina pero no lo hace, Tampoco da error. La HoraSalida queda con un valor null. ¿Qué estoy haciendo mal?
Private Sub Form_Close()
Dim rst1 As ADODB.Recordset
Dim string1 As String
Dim HoraSalida As Date
'
Set rst1 = New ADODB.Recordset
rst1.ActiveConnection = _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\Prueba\ControlAcceso.mdb;"
rst1.CursorType = adOpenKeyset
rst1.LockType = adLockOptimistic
rst1.Index = "Usuario"
rst1.Open "Acceso", , , , adCmdTableDirect
'Guardar
string1 = CurrentUser
rst1.Seek string1
Do Until rst1("Usuario") = string1
If rst1("Usuario") = string1 Then
Debug.Print rst1("Usuario"), rst1("HoraEntrada")
rst1("HoraSalida") = Now
rest1.Update
End If
rst1.MoveNext
If rst1.EOF Then Exit Do
Loop
Rst1. Close
Private Sub Form_Close()
Dim rst1 As ADODB.Recordset
Dim string1 As String
Dim HoraSalida As Date
'
Set rst1 = New ADODB.Recordset
rst1.ActiveConnection = _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\Prueba\ControlAcceso.mdb;"
rst1.CursorType = adOpenKeyset
rst1.LockType = adLockOptimistic
rst1.Index = "Usuario"
rst1.Open "Acceso", , , , adCmdTableDirect
'Guardar
string1 = CurrentUser
rst1.Seek string1
Do Until rst1("Usuario") = string1
If rst1("Usuario") = string1 Then
Debug.Print rst1("Usuario"), rst1("HoraEntrada")
rst1("HoraSalida") = Now
rest1.Update
End If
rst1.MoveNext
If rst1.EOF Then Exit Do
Loop
Rst1. Close
1 respuesta
Respuesta de drbomber
1