Access 2002

Функция MsgBox


В операторе Case El se можно использовать функцию MsgBox или процедуру, извещающую об ошибке. О назначении и разработке таких процедур рассказывается ниже в разделе «Создание процедуры, сообщающей об ошибках».

Здесь важно понимать, что несколько операторов в основной программе могут генерировать одну и ту же ошибку. Так, например, случилось бы в приведенном выше примере, если бы функция OpenRecordset использовалась дважды. Если вы хотите, чтобы обработчик ошибок по-разному обрабатывал каждый оператор, приведший к ошибке, устанавливайте флаги, идентифицирующие выполняемый в данный момент фрагмент кода, а в обработчике ошибок проверяйте эти флаги внутри оператора Case (или внутри вложенного оператора Select Case). Более сложный метод заключается в том, чтобы определить несколько обработчиков ошибок с помощью операторов On Error в различных местах программы. К счастью, в большинстве программ такие сложности не требуются. А если и требуются, то, возможно, наступило время разбить процедуру на несколько более мелких и простых.

Приведенная  процедура открывает ASCII-файл с полным именем C:FILE1.TXT. Затем она считывает каждую строку файла, добавляет в ее начало номер строки и записывает измененную строку в новый файл (C:FILE2.TXT). В процедуре используются две инструкции Open, которые могут вызвать ошибку времени выполнения, и в зависимости от того, в какой из них произошла ошибка, на экран выводится соответствующее сообщение. Если ошибка возникает при открытии второго файла, при ее обработке первый файл закрывается. В переменной intState содержится флаг, указывающий, какая из инструкций Open обрабатывается в данный момент. Когда возникает ошибка, значение этой переменной используется для того, чтобы определить, какое сообщение об ошибке следует выводить на экран.

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