Функція DoEvents

Застосовується до
Access для Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Примітка.

Функція, метод, об’єкт або властивість, описана в цьому розділі, недоступна, якщо Microsoft Jet Expression Service працює в режимі ізольованого програмного середовища, що запобігає обчисленню потенційно небезпечних виразів. Щоб отримати докладні відомості про режим ізольованого програмного середовища, у вікні довідки шукайте за запитом "режим ізольованого програмного середовища".

Виконує результати, щоб операційна система змогла обробити інші події.

Синтаксис

DoEvents( )

Примітки

Функція DoEvents повертає значення типу Integer, яке позначає кількість відкритих форм в окремих версіях Microsoft Visual Basic, як-от Visual Basic, Professional Edition. Функція DoEvents повертає нуль у всіх інших програмах.

Функція DoEvents передає керування операційній системі. Керування повертається, після того як операційна система завершить обробляти події в черзі, і всі ключі в черзі SendKeys буде надіслано.

Функція DoEvents найкраще підходить для простих речей, як-от дозволити користувачеві скасувати процес після його запуску (наприклад, пошук файлу). Для довготривалих процесів роботи краще передавати керування процесору за допомогою таймера або делегувати завдання компоненту ActiveX EXE. У другому випадку завдання може й надалі виконуватись абсолютно незалежно від програми, а операційна система подбає про багатозадачність і розподілення часу.

Щоразу, коли ви тимчасово поступаєтесь процесору в рамках процедури події, переконайтеся, що процедуру не виконано знову з іншої частини коду перед поверненням першого виклику; це може призвести до непередбачуваних результатів. Крім того, не використовуйте Функцію DoEvents , якщо інші програми можуть взаємодіяти з вашою процедурою непередбаченими способами протягом часу, коли ви дали контроль.

Приклад

Примітка.

У прикладах нижче показано використання цієї функції в модулі Visual Basic for Applications (VBA). Щоб отримати докладні відомості про використання модуля VBA, клацніть пункт Довідник розробника в розкривному списку поряд із полем Пошук і введіть у поле пошуку принаймні один термін.

У цьому прикладі функцію DoEvents використано, щоб спричинити передавання керування операційній системі після кожних 1000 ітерацій циклу. Функція DoEvents повертає кількість відкритих форм Visual Basic, але лише коли хост-програмою є Visual Basic.

' Create a variable to hold number of 
' Visual Basic forms loaded and visible.
Dim I, OpenForms
For 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 If
Next I    ' Increment loop counter.