Applies ToAccess per Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Nota: La funzione, il metodo, la proprietà o l'oggetto descritto in questo argomento è disabilitato se Microsoft Jet Expression Service è in esecuzione in modalità sandbox, che impedisce la valutazione delle espressioni potenzialmente pericolose. Per altre informazioni sulla modalità sandbox, cercare "modalità sandbox" nella Guida.

Consente l'esecuzione in modo che il sistema operativo possa elaborare altri eventi.

Sintassi

DoEvents ( )

Osservazioni

La funzione DoEvents restituisce un integer che rappresenta il numero di maschere aperte nelle versioni autonome di Microsoft Visual Basic, ad esempio Visual Basic, Professional Edition. DoEvents restituisce zero in tutte le altre applicazioni.

DoEvents passa il controllo al sistema operativo. Il controllo viene restituito dopo che il sistema operativo ha completato l'elaborazione degli eventi nella coda e tutte le chiavi nella coda SendKeys sono state inviate.

DoEvents è molto utile per operazioni semplici come consentire a un utente di annullare un processo dopo l'avvio, ad esempio una ricerca di un file. Per processi a esecuzione prolungata, è preferibile cedere al processore usando un timer o delegando l'attività a un componente EXE ActiveX. In quest'ultimo caso, l'attività può continuare completamente indipendentemente dall'applicazione e il sistema operativo si occupa di multitasking e time slicing.

Ogni volta che si cede temporaneamente al processore all'interno di una routine evento, assicurarsi che il routine non venga eseguito di nuovo da una parte diversa del codice prima che la prima chiamata restituisca; ciò potrebbe causare risultati imprevedibili. Inoltre, non usare DoEvents se altre applicazioni potrebbero interagire con la routine in modi imprevisti durante il tempo in cui si è prodotto il controllo.

Esempio

Nota: Gli esempi seguenti illustrano l'uso di questa funzione in un modulo di Visual Basic, Applications Edition (VBA). Per altre informazioni sull'uso di VBA, selezionare Riferimenti per sviluppatori nell'elenco a discesa accanto a Cerca e immettere uno o più termini nella casella di ricerca.

Questo esempio usa la funzione DoEvents per causare la resa dell'esecuzione al sistema operativo una volta ogni 1000 iterazioni del ciclo. DoEvents restituisce il numero di maschere di Visual Basic aperte, ma solo quando l'applicazione host è Visual Basic.

' Create a variable to hold number of ' Visual Basic forms loaded and visible.Dim I, OpenFormsFor I = 1 To 150000    ' Start loop.    If I Mod 1000 = 0 Then  ' If loop has repeated                            ' 1000 times.        OpenForms = DoEvents  ' Yield to operating system.    End IfNext I    ' Increment loop counter.

Serve aiuto?

Vuoi altre opzioni?

Esplorare i vantaggi dell'abbonamento e i corsi di formazione, scoprire come proteggere il dispositivo e molto altro ancora.

Le community aiutano a porre e a rispondere alle domande, a fornire feedback e ad ascoltare gli esperti con approfondite conoscenze.