Access. Программирование на VBA. Часть 2.
По материалам книги Стивена Форта, Тома Хоуна и Джеймса Релстона
«Microsoft Access 2000 Development»
Использование средств отладки Microsoft Access и методик отладки, описанных в данной статье, позволяет сэкономить очень много времени, требующегося для разработки. Время, затраченное на изучение этих средств и методик, с лихвой окупит себя в дальнейшей перспективе.
Не следует полагать, что данные средства отладки нужны только для создания сложных приложений. Даже в самых простых приложениях возникают совершенно нетривиальные программные ошибки, обнаружить которые нелегко. Программные ошибки должны быть немедленно обнаружены и исправлены. Хотя некоторые ошибки практически не вызывают проблем, другие могут привести к повреждению базы данных или к худшим последствиям.
Исключение логических ошибок
Следствием логических ошибок является то, что выполнение кода не приводит к ожидаемому результату. Причиной является либо дефект в самой логике, либо некорректное выполнение программ. При выполнении кода и появлении неожиданных результатов следует задуматься о возможном наличии логических ошибок. Большая часть времени, затрачиваемая на отладку приложения, уходит на обнаружение и исправление логических ошибок. В данной статье описаны средства и методы, позволяющие решить связанные с этим проблемы.
Логические ошибки могут происходить по следующим причинам:
• Процедура пытается использовать поле базы данных, не содержащее значений (нулевое значение)
• Неправильные математические расчеты
• Обработка операции в коде в неверном порядке
Работа в среде разработки Visual Basic (IDE)
Среда разработки в Access 2000 претерпела радикальные изменения. В настоящее время в Access включена Integrated Development Environment (IDE) (интегрированная среда разработки) Visual Basic, имеющиеся также в Visual Basic 5/6, Word 97 и других программных продуктах Office 97/2000. Эта среда редактирования включает стандартные средства разработки приложений для различных программных продуктов. Методики отладки, описанные в данной статье, с одинаковым успехом могут использоваться как в разработках Access, так и в разработках Visual Basic и Microsoft Office. Чтобы открыть IDE, находясь в режиме конструктора, необходимо в меню выбрать команду View | Code (Вид | Код). Среда IDE включает различные окна, которые можно открывать и закрывать, например, окно Project (Проект), окно Properties (Свойства), окно Immediate (Отладка) и др. Чтобы открыть окно в IDE, необходимо выбрать данное окно в меню View. Закрыть окно можно, щелкнув на кнопке закрытия окна в верхнем правом углу окна. При следующем запуске IDE все окна будут отображены в том же состоянии, в котором они находились в момент выхода из среды IDE. Когда в окне Design (Конструктор) открыта форма, можно работать с элементами управления и свойствами, как и в предыдущих версиях Access. Однако для просмотра кода формы необходимо открыть IDE Visual Basic (рис. 1). На самом деле это совершенно отдельное от Access приложение.
РИСУНОК 1. Интегрированная среда разработки (IDE) Visual Basic.
Хотя IDE Visual Basic является отдельным приложением, оно работает вместе с Access. Если IDE Visual Basic открыта, при выходе из Access она закрывается. Чтобы закрыть IDE Visual Basic, необходимо в меню выбрать пункты File | Close | Return to Microsoft Access (Файл | Закрыть | Вернуться в Microsoft Access).
Рассмотрим окна IDE Visual Basic.
Project Explorer
Project Explorer (Проводник проектов) отображает список форм, отчетов и модулей класса в данном приложении Access (рис. 2). Для просмотра кода необходимо щелкнуть правой кнопкой мыши на каком-либо из этих объектов или перейти в режим конструктора формы. Чтобы открыть Project Explorer, необходимо в меню выбрать команду View | Project Explorer (Вид | Проводник проектов) или использовать комбинацию клавиш Ctrl+R.
РИСУНОК 2. Окно Project Explorer.
Окно Code
Окно Code (Код) отображает код для форм, модулей и модулей класса (рис. 3). Разработчики обычно проводят много часов, вводя и модифицируя код в окне Code. Чтобы открыть окно Code, необходимо в меню выбрать команду View | Code (Вид | Код) или нажать клавишу F7. В верхней части окна Code имеется два раскрывающихся списка. Список с левой стороны используется для выбора объекта, например, формы или элемента управления в форме. Список с правой стороны используется для выбора процедуры данного объекта.
РИСУНОК 3. Окно Code.
Окно Properties Window
Окно Properties (Свойства) используется для установки и просмотра свойств форм, отчетов или элементов управления в формах и отчетах (рис. 4). Чтобы открыть окно Properties, необходимо в меню выбрать пункты View | Properties Window (Вид | Окно свойств) или нажать клавишу F4.
РИСУНОК 4. Окно Properties.
Окно Immediate
Окно Immediate (Отладка) можно использовать для оценки и установки переменных, запуска процедур и вывода для выражений Debug.Print. Чтобы открыть окно Immediate, необходимо в меню выбрать команду View | Immediate Window (Вид | Окно отладки) или нажать Ctrl+G. Подробнее окно отладки описано далее в данной статье.
Окно Locals
Окно Locals (Переменные) отображает выражения, значения и типы всех переменных текущей области действия. Чтобы открыть окно Locals, необходимо в меню выбрать команду View | Locals Window (Вид | Окно переменных). Более подробно окно переменных рассматривается далее в этой статье.
Окно Watch
Окно Watch (Наблюдение) используется для оценки выражений во время выполнения приложения. Чтобы открыть окно Watch, необходимо в меню выбрать пункты View | Watch Window (Вид | Окно наблюдения). Более подробно окно наблюдения рассматривается далее в этой статье.
Object Browser
Чтобы открыть Object Browser (Браузер объектов), необходимо в меню выбрать пункты View | Object Browser (Вид | Браузер объектов) или нажать клавишу F2. Браузер объектов используется для просмотра объектов, свойств и методов (рис. 5).
РИСУНОК 5. Браузер объектов.
Окно Call Stack
Окно Call Stack (Вызов стека) отображает ранее вызванные процедуры. Чтобы открыть окно стека, необходимо в меню выбрать команду View Call Stack (Вид | Вызов стека) или нажать Ctrl+L). Более подробно окно вызова стека рассматривается далее в данной статье.
СОВЕТ
Как рассматривалось ранее, в IDE можно отобразить достаточно большое количество окон. В IDE гораздо удобнее работать, если установить разрешение экрана 1024х768 или выше. Еще лучше воспользоваться функцией поддержки нескольких мониторов Windows 98/Windows 2000.
Для ускорения работы с окнами необходимо изучить клавиши быстрого доступа, используемые для открытия и закрытия окон. Размеры и положение окон можно изменять по необходимости. Иногда бывает сложно изменить размеры или восстановить положение окна, если неаккуратно передвигать его. В таких случаях можно выполнить двойной щелчок мыши на строке заголовка, чтобы восстановить окно.
Работа с объектом Debug
Объект Debug содержит два метода, которые могут оказаться полезными при отладке приложений: