Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД Исмагилова пособие.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
658.43 Кб
Скачать

7. Макросы и автоматизация работы с базой данных

А7-1. Включить в форму «Кассеты и фильмы» базы данных «Видео» (см. упражнение А5-2) следующие кнопки, позволяющие вызывать различные отчеты непосредственно из данной формы:

[Фильмы по названиям] — отчет «Фильмы (названия)» (см. А4-1);

[Фильмы по жанрам] — отчет «Фильмы (жанры)» (см. А4-1);

[Кассеты и фильмы] — отчет «Кассеты и фильмы» (см. А5-3);

[Текущая кассета] — отчет «Кассеты и фильмы», содержащий данные только о текущей записи (если текущая запись не заполнена, то отчет не вызывается).

Настроить параметры запуска базы данных «Видео» так, чтобы при ее открытии на экран выводилась форма «Кассеты и фильмы», окно базы данных не отображалось, а заголовок окна программы Access имел вид «База данных "Видео"».

Решение

Откройте базу данных «Видео» (см. 2.1).

7.1. Создание новой группы макросов: в окне базы данных перейдите к группе объектов «Макросы», [Создать]. В результате появится окно конструктора макросов, в верхней части которого отображается таблица макрокоманд, а в нижней части — список аргументов для текущей макрокоманды.

  • Макросом в программе Access называется последовательность действий (макрокоманд), которой присвоено некоторое имя. При запуске макроса выполняются все указанные в нем макрокоманды. Таким образом, макросы позволяют автоматизировать выполнение стандартных действий при работе с базой данных.

7.2. Отображение столбца имен макросов: «Вид | Имена макросов» или ; в результате в начале таблицы макрокоманд появится новый столбец «Имя макроса» (в Access 2000 столбец «Имя макроса» сразу отображается в таблице макрокоманд).

Если группа макросов состоит из единственного макроса, то в использовании столбца «Имя макроса» нет необходимости: имя этого единственного макроса будет считаться совпадающим с именем группы.

7.3. Определение макросов: в таблицу макрокоманд введите следующие данные (пробелы в именах макросов не используйте; столбец «Макрокоманда» заполняйте с помощью выпадающего списка):

Имя макроса

Макрокоманда

ФильмыНазв

ОткрытьОтчет

ФильмыЖанры

ОткрытьОтчет

КассетыФильмы

ОткрытьОтчет

ТекущКассета

ОткрытьОтчет

Для каждого макроса определите следующие аргументы макрокоманды ОткрытьОтчет (аргументы указываются в нижней части окна конструктора; при указании аргумента «Имя отчета» используйте выпадающий список):

ФильмыНазв

Имя отчета:

Фильмы (названия)

Режим:

Просмотр

ФильмыЖанры

Имя отчета:

Фильмы (жанры)

Режим:

Просмотр

КассетыФильмы

Имя отчета:

Кассеты и фильмы

Режим:

Просмотр

ТекущКассета

Имя отчета:

Кассеты и фильмы

Режим:

Просмотр

Условие отбора:

[Ном]=[Forms]! [Кассеты и фильмы]! [Ном]

  • Если макрос содержит несколько макрокоманд, то все они последовательно вводятся в ячейки столбца «Макрокоманда», а имя макроса указывается один раз рядом с первой из его макрокоманд.

  • С помощью условия отбора можно производить фильтрацию выводимых данных. В использованном условии поле [Ном] относится к объекту макрокоманды, то есть к отчету «Кассеты и фильмы», а в правой части указывается поле [Ном] формы, «Кассеты и фильмы», для которого используется полное имя, включающее тип объекта базы данных ([Forms] — формы) и имя этого объекта [Кассеты и фильмы]. Следует обратить внимание на то, что разделителем в данном случае является восклицательный знак (имена полей, как обычно, заключаются в квадратные скобки). Использованное условие имеет смысл только в случае, если макрос вызывается из формы «Кассеты и фильмы»; при этом отчет будет содержать только ту запись, поле «Ном» которой совпадает с полем «Ном» текущей записи формы.

7.4. Определение условного макроса: «Вид | Условия» или ; в результате в таблице макрокоманд после столбца «Имя макроса» появится новый столбец «Условие» (в Access 2000 столбец «Условие» сразу отображается в таблице макрокоманд). В строке, соответствующей макросу «ТекущКассе-та», введите в столбец «Условие» текст: Not isNull([Forms]! [Кассеты и фильмы]![Ном]). Теперь макрокоманда Открыть-Отчет для макроса «ТекущКассета» будет выполняться только в том случае, если поле «Ном» текущей записи в форме «Кассеты и фильмы» не является пустым.

Сохраните созданную группу макросов одним из действий, описанных в 1.5. В ответ на запрос имени сохраняемой группы введите имя Вызовы отчетов.

Откройте форму «Кассеты и фильмы» в режиме конструктора (см. первое примечание к 1.15), увеличьте высоту раздела «Примечание формы» (с помощью перетаскивания мышью — см. 2.17). Если на экране отсутствует панель элементов, отобразите ее, выполнив команду «Вид | Панель элементов» или нажав кнопку . Если на панели элементов нажата кнопка , то отожмите ее (тем самым будет отключен мастер вставки — см. примечание к 5.6).

7.5. Включение в форму элементов-кнопок: нажмите кнопку на панели элементов и щелкните мышью на макете формы в разделе «Примечание формы»; в результате на форму будет помещен элемент-кнопка. Повторяя описанные действия, поместите в раздел примечаний формы еще три кнопки.

Определите подписи к кнопкам (см. 2.12) и настройте размер и положение кнопок (см. 2.4) по образцу.

7.6. Связывание кнопок с макросами: вызовите окно свойств кнопки [Фильмы по названиям] (см. 2.8), перейдите на вкладку «События» и определите свойство «Нажатие кнопки», выбрав из выпадающего списка вариант «Вызовы отчетов. ФильмыНазв» (указывается имя группы макросов и, после точки, имя макроса из данной группы). Аналогичными действиями свяжите кнопку [Фильмы по жанрам] с макросом «Вызовы отчетов.ФильмыЖанры», кнопку [Кассеты и фильмы] — с макросом «Вызовы отчетов.КассетыФильмы», кнопку [Текущая кассета] — с макросом «Вызовы отчетов.ТекущКассета». Перейдите в стандартный режим формы (см. 2.6) и проверьте, что созданные кнопки действительно обеспечивают вызов указанных отчетов в режиме предварительного просмотра (после закрытия отчетов происходит возврат в вызвавшую их форму).

  • Переключаться между областью данных и областью примечаний в стандартном режиме формы можно с помощью клавиши [F6]. Находясь в области примечаний, выбрать нужную кнопку можно с помощью клавиши [Tab] или клавиш со стрелками, а для нажатия выбранной кнопки можно воспользоваться клавишей пробела или клавишей [Enter].

Сохраните форму «Кассеты и фильмы» (см. 1.5) и закройте ее.