Na rotina RegistroEntradaSaida, troque esse trecho aqui:
If MinhaDatabase.EOF Then
MinhaDatabase.AddNew
MinhaDatabase("Entrada") = Me.LabelHora
MinhaDatabase("CódigoFuncional") = Me.TextBoxNumero
MinhaDatabase("Data") = CDate(Format(Now, "dd/mm/yyyy"))
Else
MinhaDatabase2.Open "SELECT * FROM [Funcionários] WHERE CódigoFuncional=" & (TextBoxNumero) & ";", MinhaConexão, adOpenKeyset, adLockOptimistic, adCmdText
MinutosAleatórios = Int((10 * Rnd) + 1) ' Gera um valor aleatório entre 1 e 10.
MinutosAleatórios = CDate("00:" & Format(MinutosAleatórios, "00"))
MinhaDatabase("InicioIntervalo") = Date & " " & MinhaDatabase2("InícioIntervalo") '+ MinutosAleatórios 'CDate(Format(Now, "dd/mm/yyyy")) '
MinhaDatabase("InicioIntervalo") = MinhaDatabase("InicioIntervalo") + MinutosAleatórios
MinutosAleatórios = Int((10 * Rnd) + 1) ' Gera um valor aleatório entre 1 e 10.
MinutosAleatórios = CDate("00:" & Format(MinutosAleatórios, "00"))
MinhaDatabase("FimIntervalo") = Date & " " & MinhaDatabase2("FimIntervalo") '- MinutosAleatórios 'CDate(Format(Now, "dd/mm/yyyy")) '
MinhaDatabase("FimIntervalo") = MinhaDatabase("FimIntervalo") - MinutosAleatórios
MinhaDatabase("Saida") = Me.LabelHora
End If
MinhaDatabase.Update
Por esse:
If MinhaDatabase.EOF Then
MinhaDatabase.AddNew
MinhaDatabase("Entrada") = Me.LabelHora
MinhaDatabase("CódigoFuncional") = Me.TextBoxNumero
MinhaDatabase("Data") = CDate(Format(Now, "dd/mm/yyyy"))
Else
If VBA.IsNull(MinhaDatabase("InicioIntervalo")) Then
MinhaDatabase("InicioIntervalo") = Me.LabelHora
ElseIf VBA.IsNull(MinhaDatabase("FimIntervalo")) Then
MinhaDatabase("FimIntervalo") = Me.LabelHora
ElseIf VBA.IsNull(MinhaDatabase("Saida")) Then
MinhaDatabase("Saida") = Me.LabelHora
End If
End If
MinhaDatabase.Update
Eu coloquei ali um teste para cada campo, na ordem cronológica... Se o cara quer bater cartão e não tem data de inicio de intervalo, ele vai sair pro intervalo. se ele não tem data de retorno, ele está retornando, e se não tem data de saída, está indo embora...
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 01/12/2016 8:40 pm