- •Методические указания
- •1Общие сведения
- •1.1Что такое access
- •1.2Что может access
- •1.2.1Управление реляционными базами данных
- •1.2.2Защита базы данных
- •1.2.3Работа с мастерами
- •1.2.4Формы и отчеты wysiwyg
- •1.2.5Многотабличные запросы
- •1.2.6Графики и диаграммы
- •1.2.7Встроенные функции
- •1.2.8Макрос: программирование без программирования
- •1.2.9Модули: Visual Basic for Applications
- •1.2.10Импортирование, экспортирование и связывание внешних файлов
- •1.2.11Возможности dde и ole
- •1.2.12Информация для пользователей электронных таблиц
- •1.2.13Контекстно-зависимая справка и Помощник
- •2Разработка реляционной (многотабличной) базы данных.
- •1.1Теоретические аспекты разработки реляционной базы данных
- •1.1.1Допустимая организация данных
- •1.1.2Ограничения целостности
- •1.1.3Организация данных
- •1.1.4Целостность данных
- •1.2Постановка задачи
- •3Лабораторная работа №1_
- •1.1Создание структуры базы данных и установление связей между таблицами
- •1.2Порядок оформления отчета
- •1.3Контрольные вопросы
- •4Лабораторная работа №2
- •1.1Создание однотабличных форм для ввода данных в таблицы
- •1.1.1Создайте формы для ввода данных в таблицы.
- •1.1.2Создание формы с вкладками
- •1.2Создание многотабличных форм для ввода информации при помощи мастера
- •1.3Порядок оформления отчета
- •1.4Контрольные вопросы
- •5Лабораторная работа №3
- •1.1Формирование запросов для многотабличной базы данных
- •1.1.1Запрос на выборку
- •1.1.2Запрос с параметрами
- •1.1.3Перекрестный запрос
- •1.1.4Итоговый запрос
- •1.1.5Запрос с использованием вычисляемых полей
- •1.1.6Запрос действие
- •1.2Порядок оформления отчета
- •1.3Контрольные вопросы
- •6Лабораторная работа №4
- •1.1Разработка сложной составной формы .
- •1.1.1Создание формы с данными двух взаимосвязанных таблиц
- •1.1.2Создание формы с диаграммой на основании перекрёстного запроса.
- •1.1.3Вычисления в форме
- •1.2Контрольные вопросы
- •1.3Порядок оформления отчета
- •7Лабораторная работа №5
- •1.1Создание автоотчетов
- •1.2 Создание отчетов с вычисляемыми полями и итоговыми данными
- •1.3Создание отчетов с использованием группировки и сортировки полей
- •1.4Контрольные вопросы
- •1.5Порядок оформления отчета
- •8Лабораторная работа №6
- •1.1Разработка кнопочного меню
- •9Лабораторная работа №7
- •1.1Работа с макросами
- •1.1.1Автоматический запуск макроса
- •1.1.2Линейный макрос.
- •1.1.3Условный макрос
- •1.1.4Пример работы макросов добавление в архив и удаление из архива.
- •1.1.5Взаимодействие форм
- •1.1.6Пример работы макросов.
- •1.2Контрольные вопросы
9Лабораторная работа №7
1.1Работа с макросами
Для решения некоторых практических задач в среде Access пользователь применяет средства программирования: макросы и VBA. Макрос состоит из последовательности макрокоманд. Макрокоманда – это инструкция для выполнения определенного действия.
Макрокоманда открывает форму, выполняет запрос, отчет и т.д..
Возможно решение задач с помощью взаимосвязанных макросов, главный из которых пользователь запускает из окна базы данных, а далее задача управляется изнутри макроса, следуя заданному алгоритму.
Управление макросом может осуществляться при помощи диалога с пользователем.
Макросы могут выполняться последовательно или с использованием условий.
Макросы могут реагировать на события, происходящие с объектами Access: открытие и закрытие формы или отчета, нажатие кнопки, изменение значения поля и т.д.
Однако, если задачи не решить, используя макросы, тогда их решают программируя на VBA.
Работая с БД можно заметить, что ряд операций приходиться выполнять многократно. Для автоматизации такого рода операций можно создавать макросы.
1.1.1Автоматический запуск макроса
При открытии базы данных выполняются одни и те же действия. Например, открытие кнопочного меню. Для автоматического запуска макроса надо создать макрос и назвать его AutoExec.
Для создания автоматического макроса, открывающего кнопочное меню базы данных надо
открыть вкладку макрос
макрокоманда – открыть форму
аргумент - кнопочная форма
Отменить выполнение макроса Autoexec можно, зажав кнопку SHIFT при открытии базы данных.
1.1.2Линейный макрос.
Линейный макрос последовательно выполняет определенное количество команд.
ЗАДАНИЕ: Создать группу линейных макросов, которые позволят при просмотре дисциплин, изучаемых студентами, получить ФИО студентов, получивших двойки по этой дисциплине.(Синхронный просмотр данных в двух формах)
Рисунок 20 Результат выполнения макроса
Исходными данными для выполнения задания являются:
форма ДИСЦИПЛИНА, созданная в Лабораторной работе №2;
создание запроса ДВОЕЧНИКИ (исходная таблица ОЦЕНКИ с условием отбора ОЦЕНКА=2 )и формы ДВОЕЧНИКИ (см. рис. 18)
Форма ДВОЕЧНИКИ отображает ФИО студентов, получивших двойки по разным предметам.
Внимание! Обе формы содержат поле Код дисциплины
Создайте макрос ДВОЕЧНИКИ, состоящий из двух макросов о1 и о2 см. рис.19
Внимание! Столбец Имя макроса вызывается соответствующей командой КЗМ заголовка макроса
Рисунок 21 Групповой линейный макрос Двоечники
Таблица 9 Аргументы команд макроса О1
Макрокоманда |
Аргумент |
ВыводНаЭкран |
Нет (Позволяет вывести на экран или скрыть промежуточные результаты выполнения макроса) |
Свернуть |
(Свертывает активное окно (Кнопочное меню Деканат) в маленький значок в нижней части окна Microsoft Access. |
ОткрытьФорму |
Имя формы - Дисциплина Режим – Форма Режим данных – Только чтение Режим окна - Обычное |
СдвигРазмер |
По правому краю - 10 От верхнего края - 0 Ширина - 10 Высота - 4 (Изменяет размеры активного окна) |
ОткрытьФорму |
Имя формы - Двоечники Режим – Форма Режим данных – Режим окна – Обычное |
СдвигРазмер |
По правому краю - 0 От верхнего края - 5 Ширина - 15 Высота – 8 |
Таблица 10 Аргументы команд макроса О2
Макрокоманда |
Аргумент |
ВыделитьОбъект |
Тип – Форма Имя объекта – Двоечники В окне базы данных - Нет (Макрокоманда применима к любому объекту Access, которому можно передать фокус |
ПрименитьФильтр |
Условие отбора – [код дисциплины]=[Forms]![дисциплина]![код дисциплины] |
Группа о1 – выполняет отрытие форм ДИСЦИПЛИНА и ДВОЕЧНИКИ и размещает их рядом на экране
Группа о2 – фильтрует записи о двоечниках по значению поля КОД ДИСЦИПЛИНЫ, взятому из текущей записи формы ДИСЦИПЛИНА
Для запуска группы о1 установите связь события Открытие формы ДИСЦИПЛИНА с макросом, для чего откройте форму ДИСЦИПЛИНА в режиме конструктора, КЗМ свойства формы, вкладка События, Открытие – выберите имя макроса - Двоечники.о1
Рисунок 22 Окно свойств формы Дисциплина
Внимание! Для записи имени макроса группы применяется синтаксис: имя группы Макросов.имя Макроса
Чтобы группа о2 выполнялась, когда пользователь, работая в форме ДИСЦИПЛИНА входит в поле Код дисциплины необходимо:
открыть форму ДИСЦИПЛИНА в режиме конструктора, КЗМ поля Код дисциплины, свойства поля, вкладка События, Вход - имя макроса Двоечники.о2
Рисунок 23 Окно свойств поля Код дисциплины
Событие Вход наступает при перемещении курсора в поле Код дисциплины. Чтобы не выполнять это действие вручную, можно разместить курсор в поле Код дисциплины сразу после открытия формы ДИСЦИПЛИНА при помощи следующих действий:
откройте форму ДИСЦИПЛИНА в режиме конструктора, КЗМ формы, последовательность перехода, в области данных разместите поле Код дисциплины самым первым
Рисунок 24 Окно команды Последовательность перехода формы Дисциплина
Запустите макрос Двоечники на выполнение и проверьте синхронную работу двух форм