ACC: Come rilevare il tempo di inattivitā utente o di inattivitā

Traduzione articoli Traduzione articoli
Identificativo articolo: 128814 - Visualizza i prodotti a cui si riferisce l?articolo.
Moderato: Impone la macro di base, codifica e le competenze di interoperabilitā.
Espandi tutto | Chiudi tutto

In questa pagina

Sommario

In questo articolo viene illustrato come creare una routine che verrā eseguito se l'applicazione di Microsoft Access non rileva alcun input utente per un periodo di tempo specificato.

Si suppone che l'utente conosca Visual Basic Applications Edition e sappia creare applicazioni Microsoft Access avvalendosi degli strumenti di programmazione forniti con Microsoft Access. Per ulteriori informazioni su Visual Basic, Applications Edition, consultare il manuale "Building Applications".

Nota: Visual Basic for Applications (utilizzato in Microsoft Access 7.0 e Microsoft Access 97) viene chiamato Access Basic nella versione 2.0.

Nota: In questo articolo viene illustrata una tecnica dimostrata nel file di esempio, FrmSampl.exe (per Microsoft Access per Windows 95 versione 7.0) e FrmSmp97.exe (per Microsoft Access 97). Per informazioni su come ottenere questi file di esempio, vedere i seguenti articoli della Knowledge Base:
150895ACC95: Esempio di Microsoft Access form disponibile nell'area Download Microsoft
175066ACC97: Microsoft Access 97 moduli di esempio disponibili nell'area Download Microsoft

Informazioni

Creazione di Form DetectIdleTime

  1. Creare un modulo vuoto non basato su qualsiasi tabella o query e il nome DetectIdleTime.
  2. Impostare le seguenti proprietā della maschera:
    OnTimer: [Routine evento]
    TimerInterval: 1000
    Nota: L'intervallo di timer impostazione indica la frequenza (in millisecondi) l'applicazione verifica per inattivitā dell'utente. Un'impostazione di 1000 č uguale a 1 secondo.
  3. Immettere il seguente codice per la routine evento della proprietā OnTimer:

    Nota: Nel codice di esempio riportato di seguito, un carattere di sottolineatura (_) alla fine di una riga viene utilizzato come un carattere di continuazione di riga. Consente di rimuovere il carattere di sottolineatura alla fine del campo quando si ricrea il codice in Access Basic.
          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. Creare la procedura riportata di seguito nel modulo di maschera:
           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
    						

Come utilizzare il modulo DetectIdleTime

Per nascondere il modulo DetectIdleTime quando apre l'applicazione, creare la seguente macro di AutoExec:
   Macro Name   Action
   ---------------------
   AutoExec     OpenForm

   AutoExec Actions
   ----------------------------
   OpenForm:
      Form Name: DetectIdleTime
      View: Form
      Filter Name:
      Where Condition:
      Data Mode: Edit
      Window Mode: Hidden
				
č possibile aggiungere codice alla routine IdleTimeDetected, affinché la procedura viene eseguito se non vi č alcuna attivitā utente per il periodo di tempo specificato nel valore costante IDLEMINUTES. Ad esempio, si potrebbe avere verrā chiusura con la routine evento riportata di seguito:

In Microsoft Access 7.0 e 97:
   Sub IdleTimeDetected (ExpiredMinutes)
      Application.Quit acSaveYes
   End Sub
				
In Microsoft Access 2.0:
   Sub IdleTimeDetected (ExpiredMinutes)
      Application.Quit A_SAVE
   End Sub
				
questa procedura, Microsoft Access uscire dall'applicazione salvando tutti gli oggetti senza visualizzare una finestra di dialogo.

Riferimenti

Per ulteriori informazioni sull'evento timer, cercare l'indice della Guida per l'evento timer .

Proprietā

Identificativo articolo: 128814 - Ultima modifica: venerdė 19 gennaio 2007 - Revisione: 2.3
Le informazioni in questo articolo si applicano a:
  • Microsoft Access 2.0 Standard Edition
  • Microsoft Access 95 Standard Edition
  • Microsoft Access 97 Standard Edition
Chiavi: 
kbmt kbhowto kbprogramming kbusage KB128814 KbMtit
Traduzione automatica articoli
Il presente articolo č stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non č sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, pių o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non č la sua. Microsoft non č responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 128814
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.
Dichiarazione di non responsabilitā per articoli della Microsoft Knowledge Base su prodotti non pių supportati
Questo articolo č stato scritto sui prodotti per cui Microsoft non offre pių supporto. L?articolo, quindi, viene offerto ?cosė come č? e non verrā pių aggiornato.

Invia suggerimenti

 

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