Редактирование и отладка макросов
Редактирование макросов
В процессе создания или после сохранения, макрос можно редактировать - изменять, удалять или добавлять макрокоманды и их аргументы, и другие элементы макроса. Редактирование осуществляется в режиме конструктора. В процессе редактирования обычно используют клавиатуру, панель инструментов Конструктор макросов и набор команд и функций из строки меню (которое автоматически настраивается на текущий режим работы). При этом возможны следующие случаи редактирования.
Редактирование макрокоманд
Если необходимо изменить введенную макрокоманду, то следует воспользоваться раскрывающимся списком в поле макрокоманд. Пролистав открывшийся список, выбрать необходимую макрокоманду. Выбранная макрокоманда заменит прежнее содержимое поля. |
Можно также непосредственно вводить название макрокоманды с клавиатуры, предварительно выделив поля макрокоманд (выделяется автоматически, если в это поле входить при помощи клавиш управления курсором). При этом в поле будет автоматически введена та макрокоманда, название которой включает первые введенные символы.
Удаление макрокоманд
Для удаления одной или нескольких макрокоманд из макроса следует выделить соответствующие строки при помощи маркера выделения строк (для выделения нескольких строк необходимо протащить мышью, удерживая нажатой левую кнопку, по маркерам выделяемых строк) . Для удаления выделенных строк:
· выбрать команду Удалить строки в меню Правка;
· выбрать команду Удалить строки в контекстном меню;
· нажать на кнопку Удалить строки в панели инструментов конструктора макросов;
· нажать клавишу <Del> на клавиатуре.
Вставка макрокоманд
Чтобы вставить пропущенную макрокоманду, необходимо добавить строку в окне конструктора макроса. Для этого требуется вначале выделить строку, перед которой будет вставлена макрокоманда. Можно выделить также сразу столько строк, сколько требуется вставить, начиная с той строки, перед которой эти строки должны быть вставлены. Чтобы вставить указанные строки, остается выполнить одно из нижеперечисленных действий:
· выбрать команду Строки в меню Вставка;
· выбрать команду Добавить строки в контекстном меню;
· нажать на кнопку Добавить строки в панели инструментов конструктора макросов
· нажать клавишу <Ins> на клавиатуре.
В результате выполненных действий в макрос будет вставлено указанное количество строк. Вставленные строки будут расположены перед той строкой, которая была выделена первой.
Для вставки макрокоманд можно также перетащить мышью соответствующие объекты базы данных из окна базы данных, как это было описано в разделе «Линейные макросы». При этом соответствующая макрокоманда вставляется перед той, в строке которой был вставлен объект (отпущена кнопка мыши).
Изменение последовательности выполнения макрокоманд
Изменение последовательное выполнения макрокоманд заключается в перестановке соответствующих строк в окне макроса. Для этого необходимо выделить последовательность строк при помощи маркера выделения, а затем перетащить выделенные строки мышью в требуемую позицию. При этом жирной линией отмечается начало вставки выделенных строк.
Редактирование аргументов макрокоманды
Чтобы изменить аргументы макрокоманды, необходимо в окне конструктора установить курсор в строку, содержащую макрокоманду, затем перейти в раздел Аргументы макрокоманды. Затем изменить соответствующий аргумент, выбрав соответствующее значение аргумента из списка.
Аргумент Имя объекта можно изменить также, перетащив соответствующий объект из окна базы данных. Остальные аргументы автоматически принимают значения по умолчанию для данного типа объектов. При этом не имеет значения, в каком именно месте окна аргументов отпускать кнопку мыши.
Некоторые из аргументов могут быть заданы в виде вычисляемых выражений. |
В конце поля такого аргумента появляется кнопка Построить. При нажатии на эту кнопку вызывается окно Построителя выражений (см. рис. 3.5), используя панели инструментов и элементы Построителя выражений, можно построить выражение для вычисления требуемого значения.
Редактирование условий в макросах
Для формирования условия в макросах с условиями необходимо в окно макроса добавить столбец Условие (если он еще не добавлен), как это было описано в разделе макросы с условиями. Затем следует ввести логическое выражение проверки требуемого условия. Кроме «ручного» ввода с клавиатуры имеется возможность воспользоваться Построителем выражений. Для этого следует нажать кнопку Построить панели инструментов Конструктор макросов.
Для редактирования условия можно также воспользоваться Построителем выражений. При этом выражение, введенное в столбце Условие, будет отображено в окне Построителя выражений. Чтобы изменить какой-либо операнд в выражении или оператор, необходимо выделить соответствующую часть в самом выражении, а затем, используя панели инструментов и элементы Построителя выражений, ввести в выражение другой операнд или оператор.
Редактирование имен макросов в группе
Для ввода имен макросов в группе необходимо добавить столбец Имя, а затем ввести имя макроса с клавиатуры. Для редактирования имени макроса используют стандартные приемы редактирования текста с помощью клавиатуры.
Отладка макросов
После проектирования макроса наступает следующий этап - отладка макроса.
На стадии отладки происходит выявление ошибок и их устранение. Для простейших макросов, состоящих из небольшого количества макрокоманд, ошибки можно отслеживать непосредственно при выполнении макроса. Если же макрос состоит из большого количества макрокоманд и имеет сложную структуру, то может понадобиться отладка по шагам.
Запуск макроса
Чтобы запустить макрос из окна конструктора на выполнение, можно нажать кнопку Запуск панели инструментов Конструктор макросов или воспользоваться командой Запуск меню Запуск. |
Отладка макроса
Процесс отладки заключается в контроле за ходом выполнения макрокоманд макроса, обнаружении ошибок и их устранении.
В процессе отладки выполняют пробный запуск, и, если макрос выполняется, сравнивают результат выполнения с ожидаемым. Если в результате выполнения макроса должны быть проведены какие-либо вычисления, то обычно разрабатывают тестовый пример, результат вычисления которого заранее точно известен или предопределен, и сравнивают результаты, полученные при выполнении пробного запуска с результатами теста. Если результаты различаются, то следует отыскать ошибку в вычислениях или последовательности действий (алгоритме) самого макроса.
Ошибки, возникающие во время выполнения какой-либо последовательности инструкций (программе, модуле, макросе) бывают двух основные видов – фатальные и нефатальные. Фатальные ошибки приводят к немедленному прекращению выполнения макрокоманд макроса (операторов программы). Нефатальные ошибки не приводят к завершению выполнения макроса, выполнение продолжается, но результат, как правило искажается.
Фатальные ошибки обусловлены, как правило, синтаксическими ошибками в написании макрокоманд, применением некорректных макрокоманд или значений аргументов (например, введено имя несуществующего объекта). Фатальные ошибки проще обнаружить в процессе пробного запуска. В случае возникновения ошибки, макрос останавливается на той макрокоманде, где она была обнаружена.
Нефатальные ошибки являются результатом некорректного проектирования последовательности действий макрокоманд в макросе или ошибками в формулах вычислений. Такие обнаружить труднее, так как они не приводят к остановке макроса.
Фатальные ошибки устраняются путем изменения ошибочных макрокоманд и (или) значений их аргументов на корректные. Нефатальные устраняются только при изменении последовательности действий в макросе или в результате замены выражения, по которому вычисляется результат.
Для отладки сложных макросов целесообразно использовать пошаговый режим запуска. В этом режиме выполняется только одна макрокоманда и макрос останавливается. Затем переходят к следующей макрокоманде и так далее до конца макроса. В таком режиме проще отследить последовательность выполняемых действий и контролировать промежуточные результаты.
Для выполнения макроса в пошаговом режиме следует нажать кнопку По шагам панели инструментов Конструктор макросов или воспользоваться командой По шагам меню Запуск.
Обработка ошибок
Если макрос содержит некорректную макрокоманду или макрокоманду с ошибочными аргументами, то при попытке запустить такой макрос возникает ошибка выполнения.
Например, в макросе «Работа с сотрудниками», который был создан при выполнении примера 1, случайно (или неслучайно) был изменен аргумент Имя формы макрокоманды ОткрытьФорму - вместо имени существующей формы «Сотрудники» было введено имя «Сотрудники2». Так как такой формы на самом деле не существует, то при попытке выполнения данной макрокоманды при запуске макроса возникнет сшибка. В ответ на возникновение ошибки выдается диалоговое окно Ошибки выполнения макрокоманды с именем и аргументами макроса (рис 4.7).
Рис. 4.7. Окно отладчика «Ошибки выполнения макрокоманды»
Исходя из информации, содержащейся в этом окне, пользователь имеет возможность обнаружить ошибочно введенную макрокоманду или аргумент. Остается лишь отредактировать ошибочную макрокоманду, либо изменить аргумент (или вообще отказаться от использования этой макрокоманды). В пошаговом режиме выполнения макроса имеется возможность перейти на один шаг выполнения вперед, т.е. выполнить следующую макрокоманду или продолжить выполнение макроса (игнорируя ошибку).
Выполнение работы (варианты)
Создать макрос, автоматизирующий выполнение следующих задач:
1. Открыть форму «Клиенты» для просмотра. После закрытия формы открыть соответствующую таблицу для добавления.
2. Запустить запрос на выборку, выводящий сведения о поставщиках по указанному заказу. Если такого заказа не существует, открыть форму бланка регистрации заказа на добавление.
3. Вывести список поставщиков. Для выбранного поставщика отобразить форму в режиме просмотра.
4. Зарегистрировать клиента - открыть соответствующую форму для добавления.
5. Оформить заказ. Если в форме бланка заказа введен несуществующий клиент, зарегистрировать его. После регистрации вывести список всех клиентов.
6. С помощью запроса на выборку вывести всех поставщиков, обслуживающих заказы в указанном городе. В случае отсутствия таковых добавить в таблице Поставщики соответствующие записи.
7. Вывести список товаров с истекшим сроком доставки. После закрытия таблицы удалить соответствующие записи.
8. Определить среднюю стоимость заказов. Если она превысила определенное значение - вывести отчет.
9. Макросы в пунктах 3-5 объединить, разбив макрокоманды на группы.
10. Связать макрос пункта 3 с формой регистрации поставщиков.
Вопросы для самопроверки
1. Определение макроса, макрокоманды. Предназначение макроса. Примеры.
2. Линейные макросы. Создание линейных макросов. Аргументы макрокоманды.
3. Макросы с условиями. Построение макросов с условиями.
4. Группы макросов. Определение, назначение, именование.
5. Редактирование и отладка макросов: редактирование, удаление, вставка макрокоманд.
6. Редактирование и отладка макросов: редактирование аргументов макрокоманды, редактирование условий, редактирование имен макросов в группе.
7. Отладка макросов. Ошибки. Обработка ошибок.
Список литературы
1. Вейскас Д. Эффективная работа с Microsoft Access 7.0 «Microsoft Press», 1997, 864с.
2. Гиффорд Д. и др. Access 97. Энциклопедия пользователя / пер. с англ. - К. Диа Софт, 1997.
3. Горев А., Макашарипов С., Ахаян Р. Эффективная работа с СУБД. СПб, «Питер», 1997, 704с.
4. Дейт К. Введение в системы баз данных: Пер. с англ. / К. Дейт.- 6-е изд. -К. Диалектика, 1998. - 784с.: ил.
5. Карпова Т.С. Базы данных: модели, разработка, реализация: Учебник для вузов / Т.С. Карпова. -CПб.: Питер, 2001. - 304с.
6. Комличенко В.Н., Орешко И.Г. Лабораторный практикум по курсу «Базы данных. Технология организации хранения и обработки данных» / Мн. 2002
7. Microsoft Access 97 в подлиннике. Том 1-2., Р. Дженнингс., Спб.: BHV, 1997.