Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Predmet.doc
Скачиваний:
33
Добавлен:
28.09.2019
Размер:
1.54 Mб
Скачать

85Обработка ошибок выполнения. Поиск ошибок в программе. Обработка ошибок vba

Для обработки ошибок в VBA и VB есть специальный оператор On Error. Он задает, куда будет передано управление в случае ошибки. Приведу пример: Sub ErrorHandling()   On Error GoTo ErrorHandler    Dim a As Integer    Dim x As Integer    Dim y As Double    a = 20    x = 0    y = a / x    MsgBox ("Это сообщение никогда не появится")    GoTo Ends: ErrorHandler:   MsgBox ("Ошибка деления на ноль") Ends: End Sub

В этом примере при возникновении ошибки управление передается к метке ErrorHandler и выводится сообщение об ошибке. Если нужно вернуться из обработчика ошибки назад, в точку, где выполнение было прервано, используется оператор Resume Next: Sub ErrTest()   On Error GoTo ErrorHandler   Dim a As Integer   Dim x As Integer   Dim y As Double   a = 20   x = 0   y = a / x   MsgBox ("Процедура выполненяется дальше")   GoTo Ends: ErrorHandler:   MsgBox ("Ощибка деления на ноль !")   Resume Next Ends: End Sub

В некоторых случаях прерывать выполнение программы нежелательно даже при возникновении ошибок. В таких ситуациях можно сделать так: Sub ManyBugs()   On Error Resume Next   Dim a As Integer   Dim x As Integer   Dim y As Double   a = 30   x = 0   y = a / x   a = 20   x = 5   y = 8 / 6   MsgBox ("Никто ничего не заметил ;)") End Sub

86Операторы, выражения и операции в vba.

Оператор

Синтаксис

Описание

AND

A AND B

Конъюнкция: Если А и В имеют значение True, то - True. Иначе - False

OR

A OR B

Дизъюнкция: Если любой из операндов имеет значение True, то - True. Иначе - False

NOT

NOT A

Отрицание: Если А имеет значение False, то - True. Иначе - False

XOR

A XOR B

Исключение: Если А имеет значение True или В имеет значение True, то - True. Иначе - False

EQV

A EQV B

Эквивалентность: Если А имеет такое же значение что и В, то - True. Иначе - False

IMP

A IMP B

Импликация: Если А имеет значение True и В имеет значение False, то - False. Иначе - True

87.Визуальная среда vba. Создание стандартных модулей, модулей объектов, классов модулей.

Cистема программирования VBA предназначена для написания кода программ модулей, которые хранят текст этих программ. Модуль - это совокупность описаний, инструкций и процедур, сохраненная под общим именем. В Access существует два типа модулей: стандартные модули и модули класса. Основное содержание модулей — это процедуры на языке VBA. Процедура - совокупность описаний и инструкций в модуле, которые выполняются как одна программная единица. В VBA существуют процедуры-подпрограммы Sub и процедуры- функции Function.

Стандартные модули содержат общие процедуры, которые не связаны с конкретным объектом (формой, отчетом). Стандартный модуль - это модуль, в который помещают процедуры Sub и Function, которые должны быть доступны для всех процедур в данном приложении. Стандартные модули могут использоваться другими приложениями Access, так как в общих процедурах нет ссылок на конкретные объекты данного приложения (формы, отчеты). Кроме общих процедур, в стандартных модулях могут содержаться глобальные переменные и функции, а также объекты, которые доступные из других объектов базы данных.

Модуль класса отличается от стандартного модуля тем, что, кроме процедур, он содержит описание объекта и используется для создания классов (объектов). Отдельные модули класса, расположенные на вкладке Модули окна базы данных, содержат описание класса (объекта), созданного пользователем. К модулям класса также относятся модули форм (отчетов), которые связаны с конкретными формами (отчетами) и содержат процедуры обработки событий форм (отчетов) и их элементов управления.

Модуль формы (отчета) - это модуль класса, содержащий программы всех процедур обработки событий, возникающих в конкретной форме (отчете) или в ее элементах управления. Все процедуры событий для формы (отчета) хранятся в модуле формы (отчета). Вновь созданная форма (отчет) не содержит модулей, но их можно создать несколькими способами. Первый способ создания пустого модуля: выбрать "Да" в поле наличия модуля на вкладке "Все" в окне диалога Форма или Отчет. Окно диалога вызывается командой "Свойства" из контекстного меню, находясь в конструкторе форм или отчетов. Чтобы создать отдельный модуль класса или стандартный модуль, надо выбрать пункт Модуль класса или Модуль в меню Вставка. Стандартный модуль можно создать, например, путем преобразования макроса. Модули отображаются в окне базы данных на вкладке Модули. На рисунке представлено окно базы данных Access (на вкладке Модули) в нем находятся модули объектов, три стандартных модуля и один модуль класса.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]