КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Примечание. Функцию MsgBox () легко перепутать с макрокомандой Сообщение(MsgBox)Функцию MsgBox () легко перепутать с макрокомандой Сообщение(MsgBox). Они очень тесно связаны. Но этот пример заставляет работать именно функция MsgBox (), поскольку ее можно запустить из условия. Дополнительную информацию о функции MsgBox (например, какие у нее есть еще варианты для отображения разных наборов кнопок) можно получить, щелкнув мышью кнопку Справкапрограммы Access и найдя в справке функцию MsgBox.
Итак, вам нужен макрос, который ищет некорректные данные и если находит, отображает на экране окно сообщения. Концептуально этот макрос не слишком сложен. Но если вы начнете создавать нужный макрос, то поймете, что нет удобного способа объединения условий. Найти недопустимые вводимые значения довольно легко, но как гарантировать отображение второго условия (окна сообщения) только при столкновении с первым условием? Лучший способ решения подобных проблем — применение макрокоманд Остановить-Макроси ЗапускМакроса. ОстановитьМакросзавершает выполнение текущего макроса, что очень удобно для выхода из макроса, если известно, что следующие макрокоманды не применяются. ЗапускМакросазапускает другой макрос, что облегчает выполнение отдельной задачи при выполнении конкретного условия. С помощью команды ОстановитьМакросможно завершить выполнение макроса AskAboutMissingEmail(вопрос по поводу пропущенного электронного адреса). Вот, что следует сделать для этого. 1. Применить условие для проверки корректности данных. Если данные корректны, не нужно предпринимать дополнительных шагов и можно выполнить макрокоманду ОстановитьМакрос. 2. Если макрос все еще выполняется, значит, пропущен электронный адрес. Следующая макрокоманда использует сообщение подтверждения, как условие. Если нажата кнопка No (Нет), выполните команду ОтменитьСобытиедля прекращения редактирования. На рис. 15.25 показан окончательный макрос. Рис. 15.25.Исправленный макрос CatchMissingEmail (выявление пропущенного адреса) нуждается в двух макрокомандах — одна для прекращения процесса, если все хорошо, и вторая для отмены обновления, если нажата кнопка No в окне Подтверждающее сообщение
|