Quit access applicaiton after defined time

Eyadd

New member
Local time
Today, 10:23
Joined
May 14, 2008
Messages
3
Hi Dears

how can i force users get out the access application after defining the Time to get out??

Note: they are using local network


thanks for your help;)
 
What is the situation, exactly? Your explanation is quite vague, how ever obvious it is to you, we have no context. Do you mean that you want to send a message to a PC over the network that says I want the user out of Access in say 10 minutes? Or do you mean, the user has a set amount of time to stay in Access from when they open the database? Or something completely different.

Chris
 
What is the situation, exactly? Your explanation is quite vague, how ever obvious it is to you, we have no context. Do you mean that you want to send a message to a PC over the network that says I want the user out of Access in say 10 minutes? Or do you mean, the user has a set amount of time to stay in Access from when they open the database? Or something completely different.

Chris
 
How can i make other users log out?

I am the administrator of an access application, and there are macros must be done once per day.
the macros will not performed if any other user is opening this application.

so i was thinking if it is possible to force all users to quit on specfic time -which i defined- and send waringin Message: "The application will quit in 10 min" for example

The direct question is: How can i make other users log out?

Thanx Chris for your attention
 
Simple Software Solutions

You could manipulate the use of the folowing code

Code:
Option Compare Database

Private Sub Form_Timer()
  ' IDLEMINUTES determines how much idle time to wait for before
   ' running the IdleTimeDetected subroutine.
   Const IDLEMINUTES = 10

   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.
        If ActiveFormName <> "FrmMAinMenu" Then
            DoCmd.Close acForm, ActiveFormName
        Else
            If Not IsLoaded("FrmLogin") Then
                DoCmd.OpenForm "FrmLogin"
            End If
            
        End If
      
      'IdleTimeDetected ExpiredMinutes
   End If


End Sub

Sub IdleTimeDetected(ExpiredMinutes)
  Dim Msg As String
   Msg = "No user activity detected in the last "
   Msg = Msg & ExpiredMinutes & " minute(s)!" & vbCrLf & vbCrLf & "Application has been locked."
   MsgBox Msg, vbExclamation + vbOKOnly, "Security Risk"
   

End Sub
Private Sub CmdClose_Click()
On Error GoTo Err_CmdClose_Click


    DoCmd.Close

Exit_CmdClose_Click:
    Exit Sub

Err_CmdClose_Click:
    MsgBox Err.Description
    Resume Exit_CmdClose_Click
    
End Sub

Create a new form call DetectIdleTime with no controls on it.
Go to the form properties and set a timer interval say 60000 (1 minute)

place the above code in the form code section.

You could introduce an If statement at the top of the code, such as:

Code:
If Time() < "16:30:00" Then
   Exit Sub
End If

So it will only test for idle time after 4:30pm.


On you main start up form place the following line

Code:
DoCmd.OpenForm "DetectIdleTime", acNormal, "", "", acEdit, acHidden




CodeMaster::cool:
 

Users who are viewing this thread

Back
Top Bottom