КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Примечание. Другого варианта нет. Можно использовать макрокоманду ЗадатьЗначениедля замены некорректных значенийДругого варианта нет. Можно использовать макрокоманду ЗадатьЗначениедля замены некорректных значений. Но, как правило, лучше дать возможность пользователю, выполняющему обновление, попытаться самостоятельно устранить проблему.
Когда событие отменяется, оно не выполняет откат всех изменений. Отмена события лишь мешает завершению операции. Если изменяется запись и делается попытка перейти к другой записи, возникает событие До обновления(Before Update). Если макрос отменяет это событие, программа Access запрещает переходить к другой записи и оставляет вас на прежнем месте. Но текущая запись остается в режиме редактирования со всеми отредактированными значениями. Ваше дело устранить проблему или нажать клавишу <Esc> для полного отказа от попытки обновления. Условная макрокоманда ОтменитьСобытие— сердцевина многих проверочных макросов. Но вам нужен еще один завершающий штрих: сообщение об ошибке. Иначе пользователь, выполняющий обновление, не догадается, в чем дело. Он будет склонен считать, что Access совсем слетела с катушек. Для отображения сообщения об ошибке можно использовать макрокоманду Сообщение(MsgBox). Понятно, что вы хотите выводить сообщение об ошибке, только если ошибка действительно возникает, поэтому команды Отменитьсобытиеи Сообщениедолжны включать условия. У программы Access есть фантастическое средство ускорения, выручающее при необходимости применять одну и ту же макрокоманду дважды. Вместо повторения одинакового условия рядом с каждой макрокомандой (что немного досадно) просто вставьте три точки (...) в столбец Условиедля каждой следующей макрокоманды. Эти три точки — сокращенный вариант указания программе Access применять условие из предыдущей макрокоманды. На рис. 15.22 показан законченный макрос, а на рис. 15.23 — выполняющийся макрос. Рис. 15.22.Этот макрос состоит из двух макрокоманд с условием. Для блокировки некорректных данных присоедините его к событиям До обновленияи До вставки
Рис. 15.23.Макрос находит пропущенный электронный адрес и поясняет возникшую проблему
|