Избегайте занятого ожидания в Access 2003 - PullRequest
1 голос
/ 18 января 2012

Я делаю вещи в Access 2003 и VBA. Я выполняю много итераций, и иногда что-то происходит, и я хотел бы остановить и уведомить пользователя, но не с помощью MsgBox, а в текстовом поле.

Итак, я печатаю в нем сообщение и использую цикл, который проверяет глобальное логическое значение "hold". При использовании DoEvents Windows проверяет KeyDown и, если он есть, удержание устанавливается на False, и итерация продолжается.

Но я подозреваю, что есть лучший способ, потому что это не пример "занятого ожидания"? Хотя это не так «занято», это просто логическая проверка, но он достаточно занят, чтобы мой компьютер начал издавать звуки, и общее впечатление не является устойчивым.

Есть ли способ просто ждать (ничего не делать) и затем продолжать прерывание нажатием клавиши?

1 Ответ

1 голос
/ 18 января 2012

Вам не нужно использовать msgbox, вы можете определить свою собственную форму с текстовым полем на ней и соответствующим кодом.Откройте эту форму с параметром acDialog, и он остановит код так же, как msgbox

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...