Galphanore
Registered User.
- Local time
- Today, 13:54
- Joined
- Apr 5, 2006
- Messages
- 23
Exemptions list
I have a VBA that I found that closes my form if it's idle for five minutes, and it works great. Too great. I'm trying to make an exemption so that I can set certain user names to not get kicked off after five minutes, I am using the security feature created by the "User-Level Security Wizard", is there any way to determine the logged in users name? This is the VBA code I'm using for this :
I have a VBA that I found that closes my form if it's idle for five minutes, and it works great. Too great. I'm trying to make an exemption so that I can set certain user names to not get kicked off after five minutes, I am using the security feature created by the "User-Level Security Wizard", is there any way to determine the logged in users name? This is the VBA code I'm using for this :
Code:
Private Sub Form_Timer()
On Error Resume Next
' IDLEMINUTES determines how much idle time to wait for before running the IdleTimeDetected subroutine
Const IDLEMINUTES = 5
Static PrevControlName As String
Static PrevFormName As String
Static ExpiredTime
Dim ActiveFormName As String
Dim ActiveControlName As String
Dim ExpiredMinutes
' Get the active form and control name.
ActiveFormName = Screen.ActiveForm.Name
If Err Then
ActiveFormName = "No Active Form"
Err = 0
End If
ActiveControlName = Screen.ActiveControl.Name
If Err Then
ActiveControlName = "No Active Control"
Err = 0
End If
' Record the current active names and reset ExpiredTime if:
' 1. They have not been recorded yet (code is running for the first time).
' 2. The previous names are different than the current ones (the user has done something different during the timer interval).
If (PrevControlName = "") Or (PrevFormName = "") Or (ActiveFormName <> PrevFormName) Or (ActiveControlName <> PrevControlName) Then
PrevControlName = ActiveControlName
PrevFormName = ActiveFormName
ExpiredTime = 0
Else
' ... otherwise the user was idle during the time interval, so increment the total expired time.
ExpiredTime = ExpiredTime + Me.TimerInterval
End If
' Does the total expired time exceed the IDLEMINUTES?
ExpiredMinutes = (ExpiredTime / 1000) / 60
If ExpiredMinutes >= IDLEMINUTES Then
'.... if so, then reset the expired time to zero ...
ExpiredTime = 0
'.... and quit the application
Application.Quit acQuitSaveAll
End If
End Sub
Last edited: