ACC: Ako zistiť doba nečinnosti užívateľa alebo nečinnosti

Preklady článku Preklady článku
ID článku: 128814 - Zobraziť produkty, ktorých sa tento článok týka.
Mierna: Vyžaduje základné makro, kódovanie a interoperabilitu zručností.
Rozbaliť všetko | Zbaliť všetko

Na tejto stránke

SUHRN

Tento článok vám ukáže, ako vytvoriť postup, ktorý sa spustí, ak váš Aplikácia Microsoft Access nezistí žiadne vstup používateľa na špecifikovanom časové obdobie.

Tento článok predpokladá, že ste oboznámení s programom Visual Basic pre Aplikácie a s vytváraním aplikácie Microsoft Access pomocou programovacie nástroje s Microsoft Access. Ďalšie informácie o Visual Basic for Applications, pozrite si "Building Príručka aplikácie".

Poznámka: Visual Basic for Applications (používané v Microsoft Access 7.0 a Microsoft Access 97) sa nazýva prístup základná verzia 2.0.

Poznámka: Tento článok vysvetľuje technika preukázané vo vzorke súborov, FrmSampl.exe (pre Microsoft Access pre systém Windows 95 verzie 7.0) a FrmSmp97.exe (pre program Microsoft Access 97). Informácie o možnostiach získať tieto ukážkové súbory, prečítajte si nasledujúce články v Microsoft Knowledge Base:
150895 ACC95: Microsoft Access vzorky formuláre dostupné v stredisku pre prevzatie softvéru
175066 ACC97: Microsoft Access 97 vzorové formuláre dostupné v stredisku pre prevzatie softvéru

DALSIE INFORMACIE

Ako vytvoriť DetectIdleTime podobe

  1. Vytvoriť prázdny formulár, ktorý nie je založený na tabuľke alebo dotaze a nazvite ho DetectIdleTime.
  2. Nastaviť nasledovné vlastnosti formulára:
    OnTimer: [Udalostná procedúra]
    TimerInterval: 1000
    Poznámka: Nastavenie TimerInterval naznačuje, ako často (v milisekundách) uplatňovanie kontroly nečinnosti užívateľa. Nastavenie 1000 rovná 1 po druhé.
  3. Zadajte nasledujúci kód do režimu OnTimer vlastnosť udalosti:

    Poznámka: V nasledujúcom kóde vzorky podčiarkovník (_) na konci vedenie používa ako znak pokračovania riadku. Odstrániť znak podčiarknutia od konca riadku, keď vykonß tento kód v prístup základné.
          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. Vytvorte nasledovný postup v module forme:
           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
    						

Ako používať DetectIdleTime formulár

Skryť DetectIdleTime forme pri uplatňovaní otvorí, vytvorenie nasledujúce makra AutoExec:
   Macro Name   Action
   ---------------------
   AutoExec     OpenForm

   AutoExec Actions
   ----------------------------
   OpenForm:
      Form Name: DetectIdleTime
      View: Form
      Filter Name:
      Where Condition:
      Data Mode: Edit
      Window Mode: Hidden
				
Môžete pridať kód IdleTimeDetected postupu tak, že postup spustí, ak neexistuje žiadna aktivita používateľa z doby stanovenej v IDLEMINUTES konštantnú hodnotu. Napríklad by ste mohli mať programu Microsoft Access skončite s postupom nasledujúce udalosti:

V programe Microsoft Access 7.0 a 97:
   Sub IdleTimeDetected (ExpiredMinutes)
      Application.Quit acSaveYes
   End Sub
				
V programe Microsoft Access 2.0:
   Sub IdleTimeDetected (ExpiredMinutes)
      Application.Quit A_SAVE
   End Sub
				
Tento postup spôsobuje Microsoft Access môžete skončiť aplikáciu, ukladanie, všetky objekty bez zobrazenia dialógového okna.

ODKAZY

Ďalšie informácie o udalosti časovač, vyhľadávanie v registri PomocníkaČasovač udalosti.

Vlastnosti

ID článku: 128814 - Posledná kontrola: 10. októbra 2011 - Revízia: 2.0
Informácie v tomto článku sa týkajú nasledujúcich produktov:
  • Microsoft Access 2.0 Standard Edition
  • Microsoft Access 97 Standard Edition
Kľúčové slová: 
kbhowto kbprogramming kbusage kbmt KB128814 KbMtsk
Strojovo preložené
DÔLEŽITÉ: Tento článok bol preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft, nie prekladateľom. Spoločnosť Microsoft ponúka články preložené prekladateľmi aj strojovo preložené články, vďaka čomu máte možnosť prístupu ku všetkým článkom databázy Knowledge Base vo svojom jazyku. Strojovo preložený článok však nie je vždy perfektný. Môže obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky, podobne ako cudzinec môže robiť chyby, keď rozpráva vašim jazykom. Spoločnosť Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené akýmkoľvek nepresným prekladom obsahu alebo jeho použitím zo strany zákazníkov. Spoločnosť Microsoft softvér na strojový preklad pravidelne aktualizuje.
Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem:128814
Upozornenie na neaktuálny obsah článku databázy KB
Tento článok obsahuje informácie o produktoch, pre ktoré spoločnosť Microsoft už neposkytuje technickú podporu. Z tohto dôvodu je tento článok publikovaný ako nezmenený a už nebude aktualizovaný.

Odošlite odozvu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com