Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
Discussion GroupsFormsForms ProgrammingQueriesModules / DAO / VBAReports / PrintingMacrosDatabase DesignSecurityConversionImporting / LinkingSQL Server / ADPMultiuser / NetworkingReplicationSetup / ConfigurationDeveloper ToolkitsActiveX ControlsNew UsersGeneral 1General 2
Access DirectoryToolsTutorialsUser Groups
Related Topics
SQL ServerOther DB ProductsMS OfficeMore Topics ...

MS Access Forum / Macros / July 2004

Tip: Looking for answers? Try searching our database.

Inactivity

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Michelle - 26 Jul 2004 22:31 GMT
I saw this once before here, but stupid me I didn't think
to write it down. I should have known I would need this
sooner or later.
I am looking for an inactivity timer. If a user does not
use the database for a couple of minutes or so, I want the
database closed.
Can somebody help me.
I searched Lebans site and couldn't find and I did a
search on the news group for the last month, but came up
empty handed.
Thanks,
Michelle
Douglas J. Steele - 26 Jul 2004 23:06 GMT
http://support.microsoft.com/?id=128814 shows one approach.

Signature

Doug Steele, Microsoft Access MVP
http://I.Am/DougSteele
(no e-mails, please!)

> I saw this once before here, but stupid me I didn't think
> to write it down. I should have known I would need this
[quoted text clipped - 8 lines]
> Thanks,
> Michelle
- 26 Jul 2004 23:31 GMT
This is what I found at MS support. IT WORKS great!!

Private Sub Form_Timer()
' 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

        On Error Resume Next

        ' 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 call the IdleTimeDetected subroutine.
           IdleTimeDetected ExpiredMinutes
        End If
     End Sub

Sub IdleTimeDetected(ExpiredMinutes)
        Application.Quit A_SAVE
End Sub

>-----Original Message-----
>http://support.microsoft.com/?id=128814 shows one approach.
[quoted text clipped - 13 lines]
>
>.
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.