Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций СУБД спец_106 и 107.doc
Скачиваний:
11
Добавлен:
29.04.2019
Размер:
18.84 Mб
Скачать

1.9. Создание и применение макросов

Введение

Microsoft Access – это не только набор таблиц, хранящих взаимосвязанные данные, но и набор средств для работы с данными базы, таких как запросы, формы, отчеты, которые могут быть названы объектами приложения. С помощью кнопочных форм может быть создана панель управления приложением, обеспечивающего пользователя простой доступ ко всем его функциям. Добиться этого без использования средств программирования практически невозможно. Простейшим языком программирования и является язык макросов. Его изучение может рассматриваться как хороший способ введения в программирование на языке VBA.

Макрос – программа, состоящая из последовательности макрокоманд. Макрокоманда - это инструкция, ориентированная на выполнение определенного действия над объектами Access и их элементами. Например, макрокоманды можно использовать для выполнения следующих действий:

- для открытия (или закрытия) любой таблицы, запроса, формы или отчета в любом доступном режиме;

- для выполнения запроса на выборку или запроса на изменение;

- для выполнения действий в зависимости от значений в базе данных, форме или отчете;

- для запуска других макросов или процедур VBA;

- для применения фильтра и запуска приложений;

- и многое другое.

Макросы могут быть запущены непосредственно из окна базы данных или окна макроса. Если макрос зависит от события в форме или отчете, его нужно связать с соответствующим событием и запускать при возникновении этого события.

Перед запуском макрос необходимо сохранить командой Файл ® Сохранить как/экспорт. В окне диалога ввести имя и нажать кнопку ОК.

Создание простого макроса

Чтобы создать простой макрос, нужно открыть окно базы данных, перейти на вкладку Макросы и нажать кнопку Создать. При этом открывается окно нового макроса.

Верхняя часть окна используется для определения нового макроса, а нижняя предназначена для ввода значений аргументов макрокоманд, включенных в макрос. В начале в верхней части присутствуют два столбца с заголовками Макрокоманда и Примечание. Можно увидеть все четыре столбца (рис.1.17), нажав кнопки Имена макросов и Условие на панели инструментов.

Макрокоманды, составляющие макрос, вводятся в столбец Макрокоманды (рис.1.18). Для ввода макрокоманды можно нажать в этом столбце кнопку раскрытия списка макрокоманд и выбрать нужную. В правой нижней части окна макроса выводится краткая справка, содержание которой зависит от положения курсора в верхней части окна макроса.

В языке макросов можно организовать выполнение макрокоманды или набора макрокоманд только при выполнении некоторых условий. Условие задается с помощью логических выражений и вводится в строку макрокоманды в столбец Условие.

Использование в макросах ссылок на объекты.

При обработке данных в базе данных необходимо уметь правильно ссылаться на эти данные. Ссылки на формы, отчеты, их элементы управления формируются по определенным правилам.

Ссылаться на объекты можно по имени, но нужно учесть, что в Access объекты объединяются в семейства. Формы объединены в семейство Формы (Forms), отчеты – в семейство Отчеты (Reports). Поэтому ссылка на объект включает имя семейства и, через восклицательный знак, имя объекта. Например, для ссылки на форму необходимо записать так: Forms![Товары].

Рис. 1.17.Окно нового макроса

Рис.1.18. Список макрокоманд в окне макроса

В ссылке на элемент управления вслед за именем объекта через восклицательный знак записывается имя элемента управления, заключенное в квадратные скобки. Например, в форме КАФЕДРА ссылка на элемент управления Надпись с именем Название записывается так: Forms![КАФЕДРА]! [Название].

Ссылка на подчиненную форму или отчет записывается так:

Forms![Имя формы]! [Имя подчиненной формы].Forms![Элемент подчиненной формы]

Структура некоторых макрокоманд.

1. Макрокоманда ОткрытьФорму. Позволяет открывать форму и отбирать данные. Аргументы макрокоманды: Имя формы (из списка выбрать имя), Режим (форма, конструктор, просмотр и др.), Имя фильтра (имя запроса на выбор данных), Условие отбора (условие на языке SQL) и др.

2. Макрокоманда Закрыть. Закрывает форму, отчет, запрос и т.д. Аргументы макрокоманды: Тип объекта (форма, отчет, таблица и др), Имя объекта (Выбирается из списка), Сохранение (да, Нет, Подсказка)

3. Макрокоманда ПрименитьФильтр. Отбирает данные в открытой форме. Аргументы макрокоманды: Имя фильтра (имя запроса на выборку), Условия отбора (выражение SQL без слова WHERE).

4. Макрокоманда ЗадатьЗначение. Проводит вычисления в элементах управления форм, отчетов. Аргументы макрокоманды: Элемент (элемент управления типа Поле), Выражение (Арифметическое выражение или значение).

5. Макрокоманда Печать. Печатает открытую форму, отчет. Аргументы макрокоманды: Распечатать (Все, Фрагмент, Страницы), Со страницы (Начальная страница печати), По страницу (Конечная страница печати), Разрешение (качество печати: например, среднее), Число копий.

6. Макрокоманда Выход. Осуществляет выход из Access. Аргументы макрокоманды: Параметры (Сохранить все, Подтверждение и др.).

Запуск макроса:

- из окна макроса - нажать кнопку Запуск на панели инструментов;

- из окна базы данных - нажать на вкладку Макросы, установить курсор на имени макроса и нажать кнопку Запуск;

- из любого окна Access - следует выполнить команды

Сервис Макрос Выполнить макрос Указать имя макроса ОК

- автоматический запуск макроса при открытии базы данных - задать ему имя AutoExec.

Выполнение макроса с наступлением события

Наряду с рассмотренными способами запуска макросов, в Access предусмотрена возможность запуска макроса при возникновении некоторого события. Поскольку события определены в свойствах форм, их элементов и отчетов, пользователь указывает имя макроса в строке соответствующего события в окне свойств этих объектов. При возникновении этого события макрос запускается автоматически.

Создание кнопки запуска макроса в форме. Можно предусмотреть запуск макроса пользователем из формы путем нажатия кнопки. Эта кнопка должна быть связана с макросом. Для этого в свойствах кнопки на вкладке События в строке Нажатие кнопки задается имя макроса.

Для создания кнопки в режиме Конструктор, запускающей конкретный макрос, необходимо:

- щелкнуть на кнопку Кнопка на панели элементов и нарисовать кнопку в форме (кнопка Мастера элементов на панели элементов не нажата);

- сделать соответствующую надпись на кнопке;

- нажать кнопку Свойства на панели инструментов и в окне свойств на вкладке События в строке Нажатие кнопки следует внести имя макроса.

Кнопка для запуска макроса может быть создана в форме и с помощью мастера. Для этого нужно нажать на панели элементов кнопки: Мастера элементов и Кнопка. После вычерчивания кнопки в форме открывается окно Создание кнопки, в котором необходимо выбрать категорию Разное и действие Выполнить макрос. Затем выбрать макрос, который будет запускать при нажатии кнопки.

На рис. 1.19 представлено приложение Access, работа которого осуществляется с помощью соответствующих макросов.

Рис. 1.19. Приложение Access «Обменный пункт»