A bit of code for you:
Option Compare Database
Private Const lngTimer As Long = 5000
Private Sub cmdReset_Click()
Call ResetTimer
End Sub
Private Sub Form_Open(Cancel As Integer)
Call ResetTimer
End Sub
Private Sub Form_Timer()
If Me.txtTimer <> "0" Then
Me.txtTimer = CLng(Me.txtTimer) - 1000
Call UpdateTimerLabel
If Me.txtTimer = "0" Then
call ResetControls
End If
End If
End Sub
Private Sub ResetTimer()
Me.txtTimer = lngTimer
Call UpdateTimerLabel
End Sub
Private Sub UpdateTimerLabel()
Me.lblTimer.Caption = CLng(Me.txtTimer) / 1000
End Sub
private sub ResetControls()
Dim cControl As Control
For Each cControl In Me.Controls
If cControl.Name Like "Entry*" Then cControl = vbNullString
Next
Me.Entry_1.SetFocus
end sub
There are three controls on my form, you won't need the cmdReset.
txtTimer is a hidden control that is updated with the time remaining till next reset. lblTimer is the displayed timer. You would have your _AfterUpdate events call the ResetTimer procedure.