Access 2002

Обработка ошибок на уровне формы


Многие ошибки происходят только тогда, когда форма активна. Некоторые из них — это стандартные ошибки времени выполнения: отсутствует файл, не найден запрос, который вы хотели выполнить, или пользователь сделал что-то, чего вы не ожидали. Все это ошибки программиста, но есть еще ошибки пользователя, которые обнаруживает и обрабатывает сама Access. Их не перехватить с помощью обычных операторов обработки ошибок: как вам выделить фрагмент кода, в котором они могут произойти, — ведь это не ваш код, а код программы. (Подробные сведения об обработке ошибок времени выполнения вы найдете в главе 12.) Но, скорее всего, вы захотите заменить стандартную реакцию Access на ошибки такого рода более дружественным поведением по отношению к пользователю.

Для обработки этих ошибок Access связывает с формами специальное событие — Error. Если вы напишете процедуру его обработки, Access будет вызывать ее всякий раз при возникновении перехватываемой ошибки во время работы формы. Синтаксис этой процедуры таков:

Sub Form_Error(/Ma£rr As Integer. Response As Integer)

Аргумент DataErr содержит номер возникшей ошибки, а аргумент Response позволяет указать Access, как ее следует обработать. Если ваша процедура сделала все необходимое для обработки ошибки и вмешательство Access не требуется, присвойте аргументу Response значение acDataErrContinue. Если же вы хотите, чтобы Access вывела собственное сообщение об ошибке, присвойте аргументу Response значение acDataErrDisplay.

 7.10 приведен пример простейшей процедуры обработки ошибок формы.

Комментарии закрыты