Olá colegas!
Eu também estava com a mesma dúvida, e montei um código bem simples que atendeu ao que precisava, talvez possa ser útil. Lembrando que utilizei o código já criado pelo mestre JPaulo, e só acrescentei uma Sub para chamar a partir dos outros formulários. Segue:
Este código fica no formulário principal, que no meu caso está nomeado como "frm_menu":
Private Sub Detalhe_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Call Cronometro
End SubSub Cronometro()
Me.lblTempo.Caption = "00:00:00"
End SubPrivate Sub Form_Timer()
'By JPaulo Maximo Access
Static strHora As Integer
Static strMinutos As Integer
Static strSegundos As Integer
If Trim(lblTempo.Caption) = "00:00:00" Then
strHora = 0
strMinutos = 0
strSegundos = 0
End If
strSegundos = strSegundos + 1
If strSegundos = 60 Then
strSegundos = 0
strMinutos = strMinutos + 1
If strMinutos = 60 Then
strMinutos = 0
strHora = strHora + 1
If strHora = 24 Then
strHora = 0
End If
End If
End If
lblTempo.Caption = Format(strHora, "00") & ":" & _
Format(strMinutos, "00") & ":" & _
Format(strSegundos, "00")
'tempo de inatividade do banco para encerramento, aqui o exemplo são de 10 minutos
If lblTempo.Caption = "00:10:00" Then
DoCmd.Quit acQuitSaveAll
End If
End SubE nos demais formulários que contêm do banco de dados, inseri o seguinte código:
Private Sub Detalhe_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If CurrentProject.AllForms("frm_menu").IsLoaded = True Then
Forms![frm_menu].cronometro
End if
End subReconheço que é bem básico, rsrs mas espero que seja útil!