Цель работы: Научиться создавать макросы для решения задачи с использованием запросов и отчетов.
ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
Язык макросов является языком программирования, который позволяет реализовать задачи пользователя, выполняя необходимые действия над объектами Access и их элементами.
Макрос – программа, состоящая из последовательности макрокоманд. Макрокоманда – это инструкция, ориентированная на выполнение определенного действия.
Имеющийся в Access набор макрокоманд (более 40) реализует практически любые действия, которые необходимы для решения задачи.
Создание макросов осуществляется в диалоговом режиме и сводится к записи в окне макроса последовательности макрокоманд, для которых задаются параметры. Каждому макросу присваивается имя. При выполнении макроса, макрокоманды выполняются последовательно в порядке их расположения. При этом используются объекты или данные, указанные в аргументах макрокоманд. Имеется возможность определить условия выполнения макрокоманды.
Создание макроса начинается в окне базы данных, где надо выбрать вкладку Макросы и нажать кнопку Создать. После этого открывается окно создания макроса.
Макрокоманды, составляющие макрос, вводятся в столбец Макрокоманда (рис.1). Для ввода макрокоманды можно нажать кнопку раскрытия списка макрокоманд в этом столбце и выбрать нужную. Можно ввести имя макрокоманды с клавиатуры.
Рис.1. Окно конструирования макроса с открытым списком макрокоманд
В нижней части окна выводятся Аргументы макрокоманды. Значения аргументов задаются путем выбора их из списка, открывающегося в строке аргумента. В поле справа от строк аргументов выводится сообщение с пояснением для выбранного аргумента.
В строки столбца Примечание вводят необязательный комментарий, описывающий результат выполнения макрокоманды.
Каждая новая макрокоманда макроса добавляется в следующей строке бланка. Порядок размещения макрокоманд в бланке определяет последовательность их выполнения.
После ввода всех макрокоманд в макрос его нужно сохранить, воспользовавшись командой меню Файл-Сохранить или кнопкой на панели инструментов макроса.
Для выполнения макроса можно нажать кнопку на панели инструментов Запуск. Если макрос уже закрыт, то для его выполнения надо в окне базы данных выбрать макрос и нажать кнопку Запуск в этом окне. Таким образом, по инициативе пользователя задача может решаться многократно.
Создание макрокоманды в макросе или задание значений аргументов может быть выполнено путем переноса с помощью мыши объекта БД из окна базы данных в окно макроса.
Для включения в макрос макрокоманд достаточно перетащить с помощью мыши объект из окна базы данных в строку макрокоманды. Макрокоманда по умолчанию создается со значениями аргументов, соответствующими выбранному объекту. Например, при перетаскивании таблицы создается макрокоманда ОткрытьТаблицу, открывающая таблицу в режиме таблицы со значением Изменение для аргумента Режим данных.
ПРАКТИЧЕСКОЕ ЗАДАНИЕ
1. На основе запроса Сессия создать запрос на выборку Стипендия, который включает данные тех студентов, которые не имеют по итогам сессии оценки «3». В запросе должны присутствовать поля Фамилия, Имя, Отчество, Группа, Оценки. По полю Оценки необходимо провести групповую операцию Sum, для нахождения общего количества баллов набранных студентом по всем предметам и установить условие отбора >16 или =16. В запрос так же необходимо добавить поле Сумма, которое имеет значение 200 и поле Подпись - пустое значение.
2. На основе запроса Стипендия сформировать отчет Ведомость на выдачу стипендии.
3. Создать макрос Назначение стипендии, который выполняет последовательно запрос Итоги сессии и на его основе формирует отчет Ведомость на выдачу стипендии.
4. Добавить в форму-меню кнопку Назначение стипендии.
5. Создайте макрос Формирование ведомости на выдачу зарплаты преподавателям.
ТЕХНОЛОГИЯ РАБОТЫ
1. Для создания запроса на создание таблицы Ведомость на стипендию:
· На вкладке запросы щелкните по кнопке <Создать>;
· Выберите Простой запрос и щелкните по кнопке <ОК>;
· Из запроса Сессия выберите поля «Фамилия», «Имя», «Отчество», «Номер группы», «Оценки» и щелкните по кнопке <Далее>;
· Введите название запроса Стипендия, щелкните по ячейке Изменить макет запроса и щелкните по кнопке <Готово>;
· Для выполнения групповых операций выполните команду Вид, Групповые операции;
· В строке Групповые операции поля «Оценки» щелкните по команде Групповые операции. Откройте раскрывшийся список и выберите функцию SUM;
· В строке Условия отбора поля «Оценки» введите >16 or 16;
· В строке Условия отбора поля «Номер группы» добавьте [Введите номер группы]
· Добавьте поля «Сумма» и «Подпись», для этого в пустых столбцах бланка запроса в строке Поле введите соответственно «Сумма:200», «Подпись: “ “»;
· Выполните команду Вид, Создание таблицы; введите имя таблицы Ведомость на стипендию и щелкните по кнопке <ОК>;
· Закройте запрос с сохранением;
· Откройте вкладку Таблицы;
· Откройте таблицу Ведомость на стипендию. Удостоверьтесь в правильности создания таблицы.
2. Для создания отчета Ведомость на стипендию воспользуйтесь Мастером создания отчетов. В отчет включите поля «Номер группы», «Код студента», «Фамилия», «Имя», «Отчество», «Сумма», «Подпись».
3. Для создания макроса Назначение стипендии:
· Выполните команду Макросы, Создать,чтобы открыть окно создания макросов (рис.1);
· Щелкните в первой строке столбца «Макрокоманда», раскройте список макрокоманд и выберите макрокоманду ОткрытьЗапрос;
Рис.2
· В нижней части окна для макрокоманды заполните бланк «Аргументы макрокоманды» как на рис.2;
· Перейдите на следующую строку столбца «Макрокоманды» и в списке макрокоманд выберите ОткрытьОтчет, заполните бланк «Аргументы макрокоманды» как на рис.3.
Рис.3
· Перейдите на следующую строку столбца «Макрокоманды», в списке макрокоманд выберите ВыводНаЭкран, в аргументахмакрокоманды в строке Вывод на экран установите «Да».
· Сохраните макрос под именем Назначение стипендии;
· Запустите макрос.
4. В форме-меню создайте кнопку Назначение стипендии.
5. Создайте макрос Формирование ведомости на выдачу зарплаты преподавателям и кнопку в форме-меню аналогично макросу и кнопке Назначение стипендии.