asked on
Option Compare Database
Option Explicit
Const timeToRun As Date = #11:17:00 AM#
Const DelayFromLastActivity As Long = 1
'minutes of delay
Public TheInterval As Long
Public db As Database
Public rs As Recordset
Dim SkipMessage As Boolean
Private Sub Form_Activate()
If DateDiff("s", Time(), timeToRun) < DelayFromLastActivity Then
TheInterval = DelayFromLastActivity * 60 * 1000
Else
TheInterval = DateDiff("s", Time(), timeToRun) * 1000
End If
Me.TimerInterval = TheInterval
End Sub
Private Sub Form_Current()
'this should only fireon opening because this form is unbound
'MsgBox "Current Event fired"
'MsgBox GetLocalTimeFromGMT(timeToRun)
'MsgBox ConvertLocalToGMT(timeToRun)
If DateDiff("s", Time(), timeToRun) < DelayFromLastActivity Then
TheInterval = DelayFromLastActivity * 60 * 1000
Else
TheInterval = DateDiff("s", Time(), timeToRun) * 1000
End If
Me.TimerInterval = TheInterval
End Sub
Private Sub Form_Timer()
Set db = CurrentDb
Set rs = db.OpenRecordset("select * from tblTimes where 1=2;", dbOpenDynaset, dbSeeChanges)
With rs
.AddNew
!thedatetime = Now()
!theuser = ReturnUserName
!thecomputer = ReturnComputerName
.Update
Me.txtTimer.Value = Now()
Me.txtTimer.Requery
End With
rs.Close
Set rs = Nothing
db.Close
Set db = Nothing
SkipMessage = True
Application.Quit acQuitSaveAll
SkipMessage = True
End Sub
Private Sub Form_Unload(Cancel As Integer)
Dim response As Integer
If SkipMessage = False Then
response = MsgBox("Did you really intend to quit The Program? Yes to Quit, no to remain in The Program", vbYesNo + vbCritical, "Quit?")
If response = vbNo Then
Cancel = True
End If
End If
End Sub