Access 2002

Значение аргумента DataErr


Если вы запустите Построитель программы для события Error (щелчком на кнопке с многоточием справа от поля ввода значения этого свойства), то увидите заготовку процедуры, которая выглядит примерно так:

Sub Form Error(DataErr As Integer, Response As Integer)

End Sub

Значение аргумента DataErr соответствует значению свойства Err.Number. Значение аргумента Response присваиваете вы сами перед окончанием выполнения процедуры. Оно говорит Access, нужно ли ей сообщать пользователю об ошибке.  12.9 приведен пример процедуры-обработчика события Error.

Аргумент Response может принимать два значения: acDataErrContinue или acDataErrDisplay. Если вы присвоите ему значение acDataErrDisplay, Access выведет стандартное сообщение об ошибке, то есть то, которое вы увидели бы в случае отсутствия в форме обработчика ошибок. Значение acDataErrContinue сообщает Access, что выводить на экран сообщение об ошибке не надо. При этом вы можете сами сообщить пользователю о произошедшем.

С помощью вызова функции Error(DataErr) вы можете получить строку описания возникшей ошибки ядра базы данных Jet.

Из-за внесенных в VBA изменений в технологию обработки ошибок многие сообщения, возвращаемые функцией Error, оказываются бесполезными. Действительно, для большинства кодов ошибок функция Error возвращает строку «Application-defined or object-defined error». Это происходит потому, что VBA не имеет информации о специфических ошибках «главной программы» (в нашем случае — Access). К счастью, в Access имеется метод AccessError, который возвращает строку описания ошибки Access. Он работает так же, как и функция Error, но возвращает реальную и содержательную информацию.

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