ACC: Wie Ermitteln von Benutzerleerlaufzeit oder Inaktivität

Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.

Den englischen Originalartikel können Sie über folgenden Link abrufen: 128814
Dieser Artikel wurde archiviert. Er wird im vorliegenden Zustand bereitgestellt und nicht mehr aktualisiert.
Moderat: Erfordert grundlegende Kenntnisse in den Bereichen Makros, Programmierung und Interoperabilität.
Zusammenfassung
Dieser Artikel veranschaulicht eine Prozedur erstellen, die ausgeführt wird, wenn Microsoft Access-Anwendung Benutzereingaben für einen angegebenen Zeitraum nicht erkennen kann.

Dieser Artikel setzt voraus, dass Sie mit Visual Basic für Applikationen und mit dem Erstellen von Microsoft Access-Anwendungen mit Hilfe der in Microsoft Access enthaltenen Programmiertools vertraut sind. Weitere Informationen zu Visual Basic für Applikationen finden Sie im Handbuch "Building Applications".

Hinweis: Visual Basic für Applikationen (in Microsoft Access 7.0 und Microsoft Access 97 verwendet) wird Access Basic in Version 2.0 bezeichnet.

Hinweis: Dieser Artikel erklärt eine Technik, die in den Beispieldateien FrmSampl.exe (für Microsoft Access für Windows 95 Version 7.0) und FrmSmp97.exe (für Microsoft Access 97). Informationen dazu, wie Sie diese Beispieldateien erhalten finden Sie unter die folgenden Artikeln der Microsoft Knowledge Base:
150895ACC95: Beispiel für Microsoft Access-Formulare im Download Center verfügbar
175066ACC97: Microsoft Access 97 Beispielformulare verfügbar im Download Center
Weitere Informationen

So erstellen Sie das Formular DetectIdleTime

  1. Erstellen Sie ein leeres Formular, das nicht auf einer Tabelle oder Abfrage basiert und nennen Sie es DetectIdleTime.
  2. Legen Sie die folgenden Formulareigenschaften:
    OnTimer: [Ereignisprozedur]
    TimerInterval: 1000
    Hinweis: Die TimerInterval Einstellung Häufigkeit gibt (in Millisekunden) an, überprüft die Anwendung für Inaktivität von Benutzern. Eine Einstellung von 1000 entspricht 1 Sekunde.
  3. Geben Sie folgenden Code für die OnTimer-Eigenschaft-Ereignisprozedur:

    Hinweis: In den folgenden Beispielcode wird ein Unterstrich (_) am Ende einer Zeile als ein Zeilenfortsetzungszeichen verwendet. Entfernen Sie den Unterstrich vom Ende der Zeile, wenn Sie diesen Code in Access Basic neu erstellen.
          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						
  4. Die folgende Prozedur im Modul Formulars zu erstellen:
           Sub IdleTimeDetected (ExpiredMinutes)         Dim Msg As String         Msg = "No user activity detected in the last "         Msg = Msg & ExpiredMinutes & " minute(s)!"         MsgBox Msg, 48      End Sub						

So verwenden Sie das Formular DetectIdleTime

Erstellen Sie DetectIdleTime Formular ausblenden, wenn die Anwendung öffnet, das folgende AutoExec-Makro:
   Macro Name   Action   ---------------------   AutoExec     OpenForm   AutoExec Actions   ----------------------------   OpenForm:      Form Name: DetectIdleTime      View: Form      Filter Name:      Where Condition:      Data Mode: Edit      Window Mode: Hidden				
Sie können die IdleTimeDetected Prozedur so, dass die Prozedur ausgeführt, wird ist keine Benutzeraktivität des Zeitraums in der Konstante Wert IDLEMINUTES angegebenen Code hinzufügen. Angenommen, Sie verfügen über Microsoft Access die folgende Ereignisprozedur zu beenden:

In Microsoft Access 7.0 und 97:
   Sub IdleTimeDetected (ExpiredMinutes)      Application.Quit acSaveYes   End Sub				
In Microsoft Access 2.0:
   Sub IdleTimeDetected (ExpiredMinutes)      Application.Quit A_SAVE   End Sub				
diese Prozedur bewirkt, dass Microsoft Access die Anwendung, speichern alle Objekte ohne Anzeigen eines Dialogfelds zu beenden.
Informationsquellen
Weitere Informationen über das Timer-Ereignis finden Sie in der Hilfe für Timer-Ereignis .

Warnung: Dieser Artikel wurde automatisch übersetzt.

Eigenschaften

Artikelnummer: 128814 – Letzte Überarbeitung: 12/04/2015 11:14:36 – Revision: 2.3

Microsoft Access 2.0 Standard Edition, Microsoft Access 95 Standard Edition, Microsoft Access 97 Standard Edition

  • kbnosurvey kbarchive kbmt kbhowto kbprogramming kbusage KB128814 KbMtde
Feedback