Диалоговое окно параметров редактора кода
Иллюстрация 13.14. Диалоговое окно параметров редактора кода
Оно содержит четыре вкладки.
Первая вкладка Editor (Редактор) состоит из двух групп параметров: Code Settings и Window Settings.
-
Группа
Code Settings (Программирование) содержит шесть флажков, которые позволяют включать и отключать интеллектуальные функции редактора, такие как автоотступ, автоматическая проверка синтаксиса, подсказки при написании пользователем программ.
-
Группа
Window Settings
(Параметры окна) включает в себя три флажка, влияющих на представление кода в окне редактора. Эти флажки позволяют переключаться между представлениями полного модуля и процедуры, выводить или не выводить на экран тонкие линии, разделяющие процедуры, включать или отключать функцию перетаскивания текста, т. е. перемещения выделенного фрагмента кода с помощью мыши.
Третья вкладка General (Общая) содержит несколько групп переключателей и флажков.
-
Группа
Form Grid Setting
относится к созданию форм в Microsoft Visual Basic 6.0 и в других компонентах Office и не используется в Access.
-
Флажок
Show ToolTips
позволяет включить или отключить вывод всплывающих подсказок для кнопок на панели инструментов.
-
Флажок
Collapse Proj. Hides Windows
определяет, будет ли скрываться окно редактора при закрытии проекта на панели проекта.
-
Флажок
Notify Before State Loss
определяет, получит ли пользователь сообщение о том, что предпринимаемое действие вызовет потерю состояния текущего проекта.
-
Переключатели
Error Trapping
определяют установки по умолчанию, используемые при обработке ошибок в программах:
-
Break on All Errors
— любая ошибка, независимо от того, обрабатывается ли она программой, приведет к прерыванию выполнения программы;
-
Break in Class Module
— любая необработанная ошибка в модулях класса приведет к прерыванию выполнения программы;
-
Break on Unhandled Errors
— прерывание программы вызывают все необработанные ошибки.
-
Break on All Errors
— любая ошибка, независимо от того, обрабатывается ли она программой, приведет к прерыванию выполнения программы;
Последняя группа флажков определяет, когда компилируются модули проекта:
-
Compile On Demand
— определяет, будут ли все модули проекта компилироваться перед началом работы или только по требованию, в первом случае запуск приложения будет более длительным;
-
Background Compile
— определяет, будет ли компиляция модулей выполняться в фоновом режиме.
Для того чтобы убедиться, что наши утверждения об интеллектуальности редактора не являются голословными, достаточно попробовать написать даже самую простую программу. Давайте заменим в форме "Клиенты" (Customers) макрос, который открывает форму "Заказы" (Orders) при нажатии кнопки Заказы клиента, процедурой VBA, которая выполняет те же действия. Мы создавали такой макрос в разд. "Назначение макроса событию" гл. 11. Если вы этого не делали, тогда создайте сейчас командную кнопку в области заголовка окна и назовите ее "Заказы клиента" (кнопка Мастера на панели элементов при этом должна быть отжата).
После этого нажмите кнопку Программа (Code) на панели инструментов. Откроется редактор кода VBA, который по умолчанию попытается создать процедуру обработки события Load формы. Выберите из списка слева объект Заказы клиента. Редактор автоматически вставит заголовок и концовку процедуры обработки события Click (рис. 13.15). Открыв список справа, вы можете увидеть, как много различных событий связано с командной кнопкой, однако наиболее часто используется именно событие Click. Так как с этим событием сейчас не связано никакой процедуры, редактор сразу пытается ее создать.
Начнем писать текст процедуры. Процедура будет состоять из нескольких команд. Нам необходимо открыть форму "Заказы" (Orders) и показать в этой форме только те заказы, которые относятся к определенному клиенту, поэтому придется задать условие для отбора записей в форме "Заказы" (Orders). Обычно для этого используют переменную типа string, которой сначала присваивают нужное значение, а потом подставляют в качестве параметра в макрокоманду Открытьформу (OpenForm). Чтобы использовать такую переменную, ее сначала нужно описать, поэтому первое предложение в процедуре должно быть следующим:
Dim stLinkCriteria As String