Muito obrigado pelas dicas caros amigos, mas desenvolvi uma rotina que pode ajudar mais alguem.
Dim Dif
Dim DIFHORA
Dim DIFMINT
Dim DIFMINT_P1_ENT
Dim DIFMINT_P1_SAI
DIFMINT_P1_ENT = Val(Right(rstHorasTrab("P1_H_ENTRADA"), 2))
DIFMINT_P1_SAI = Val(Right(rstHorasTrab("P1_H_SAIDA"), 2))
mP1_H_ENTRADA = rstHorasTrab("P1_H_ENTRADA")
mP1_H_SAIDA = rstHorasTrab("P1_H_SAIDA")
If Val(mP1_H_ENTRADA) > Val(mP1_H_SAIDA) Then
DIFHORA = Format((24 + Val(mP1_H_SAIDA) - Val(mP1_H_ENTRADA)), "#0.00")
Else
DIFHORA = Format((Val(mP1_H_SAIDA) - Val(mP1_H_ENTRADA)), "#0.00")
End If
If DIFMINT_P1_SAI > DIFMINT_P1_ENT Then
DIFMINT = (DIFMINT_P1_SAI - DIFMINT_P1_ENT)
Else
DIFMINT = (60 - DIFMINT_P1_ENT) + DIFMINT_P1_SAI
If DIFMINT < 0 Then DIFMINT = DIFMINT * -1
DIFHORA = DIFHORA - 1
If DIFHORA < 0 Then DIFHORA = 0
End If
rstHorasTrab.Edit
rstHorasTrab("HORAS_TRABALHADAS") = strzero((Val(DIFHORA)), 2) + ":" + strzero((DIFMINT), 2)
rstHorasTrab.Update
Public Function strzero(sString As String, nzeros As Integer)
Do While Len(sString) < nzeros
sString = "0" & sString
Loop
strzero = sString
End Function