
- •Исмагилова к.К. Работа с базами данных
- •Общие положения.
- •Структура базы данных
- •Простейшие базы данных
- •Свойства полей. Типы полей
- •Связанные таблицы
- •Поля уникальные и ключевые
- •Субд access
- •Объекты access
- •Режимы работы с access
- •Особенности таблиц баз данных
- •Надежность и безопасность баз данных
- •Совместное использование данных
- •Приемы работы с таблицами баз данных
- •Создание связей между таблицами
- •Практическая работа с базами данных в программе microsoft access
- •1. Создание и заполнение таблиц баз данных
- •2. Формы
- •3. Запросы. Вычисляемые поля
- •3.1. Создание запроса:
- •4. Отчеты
- •4.11. Группировка данных в отчете:
- •5. Базы данных, содержащие несколько связанных таблиц. Составные формы и составные отчеты
- •5.1. Определение связей между таблицами:
- •6. Запросы на основе связанных таблиц. Группировка и перекрестные запросы. Запросы с параметрами
- •6.2. Настройка свойств полей с результатами группировки:
- •7. Макросы и автоматизация работы с базой данных
- •7.7. Настройка параметров запуска базы данных:
- •7.9. Определение элементов кнопочной формы:
- •7.10. Настройка макета кнопочной формы:
- •Приложение
- •Литература
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) и закройте ее.