Режим диалога (отчисление или восстановление)
§ Создайте форму «Действие»
§ Нанесите на форму элементы управления: поле со списком
Список содержит три действия: отчислить, восстановить и выйти.
§ В свойствах, на вкладке данные – ограничиться списком – да.
Рисунок 24 Форма Действие
§ Создать макрос на выбор действия:
Условие | Макрокоманда | Аргумент | |
ВыводНаЭкран | нет | ||
Свернуть | |||
ОткрытьФорму | действие/ Форма/ Изменение/ Обычное | ||
СдвигРазмер | 10/ 0/ 10/ 6 | ||
[ПолеСоСписком0]="Выйти" | Закрыть | форма/действие/подсказка | |
[ПолеСоСписком0]="Отчислить" | Запуск макроса | Добавление в архив | |
[ПолеСоСписком0]="Восстановить" | Запуск макроса | Удаление из архива |
Рисунок 25 Макрос на выбор действия
§ Чтобы выполнялся макрос Действие О, нужно в свойствах поля со списком формы Действие на вкладке события выбрать после обновления и ввести название макроса.
§ Далее создайте макросы для перехода к выбору действия и выход из форм Студенты и Архив.
Макрокоманда | Аргумент | |
Закрыть | Студенты или Архив/ Форма/ подсказка | |
ОткрытьФорму | Действие/ Форма/ Изменение/ Обычное | |
СдвигРазмер | 10/ 0/ 10/ 6 |
Рисунок 26 Макросы для перехода к выбору действия и выход из форм Студенты и Архив
§ Затем добавьте кнопки в формы Студенты и Архив для перехода в главное окно и выход(в примечании формы).
§ Создайте кнопку для вызова макроса, выбирите категорию разное, выполнить макрос, название макроса, введите текст кнопки и нажмите кнопку готово
Пример работы макросов добавление в архив и удаление из архива.
Рисунок 27 Пример работы макросов добавление в архив и удаление из архива
Взаимодействие форм
ЗАДАНИЕ: Пусть есть база данных СКЛАД (см. рис. 24)
Таблица СКЛАД содержит информацию о товарах, хранящихся на складе, таблица ЗАКАЗ содержит информацию об отгруженных товарах со склада. Задачей является уменьшение количества товара на складе в таблице СКЛАД при его заказе, а также сообщение о невозможности выполнения заказа при отсутствии его в нужном количестве на складе.
Рисунок 28 Схема БД СКЛАД
§ Создайте макрос на открытие формы Заказ1.
Макрокоманда | Аргумент | |
ВыводНаЭкран | нет | |
Свернуть | ||
ОткрытьФорму | Заказ1/ Форма/ Изменение/ Обычное | |
СдвигРазмер | 10/ 0/ 10/ 6 |
Рисунок 29 Макрос на открытие формы Заказ1
Рисунок 30 Форма заказ1
В свойствах поля количество формы Заказ1 на вкладке события после обновления выбрать макрос Склад.
Условие | Макрокоманда | Аргумент | |
ОткрытьФорму | Склад1/ Форма/[код_товара]=[Формы]![заказ1]![код_товара]/ Изменение/ Обычное | ||
СдвигРазмер | 15/ 0/ 15/ 6 | ||
Свернуть | |||
[Формы]![заказ1]![количество]>[Формы]![склад1]![количество] | Сообщение | Нет требуемого количества | |
[Формы]![заказ1]![количество]<=[Формы]![склад1]![количество] | ЗадатьЗначение | [Формы]![заказ1]![стоимость]/ [Формы]![заказ1]![количество]*[Формы]![склад1]![отпускная цена] | |
Обновление | |||
Закрыть | Форма/склад1/подсказка |
Рисунок 31 Макрос Склад
Для просмотра количества товара на складе создать макрос Запрос.
Перед его созданием надо создать запрос на выборку на основе таблицы СКЛАД и задать условие отбора: [Forms]![заказ1]![код_товара]
Рисунок 32 Запрос на выборку в режиме конструктора
На его основе создаем форму и запишем макрос, открывающий эту форму.
Макрокоманда | Аргумент | |
ОткрытьФорму | Склад запрос/ Форма/ Изменение/ Обычное |
Рисунок 33 Макрос Запрос
Чтобы макрос запускался при двойном нажатии по полю количество, нужно открыть форму заказ1 , КЗМ поля код_товара, свойства поля, вкладка События, Двойное нажатие кнопки - имя макроса Запрос
Далее создадим макрос Выход, который удалял бы все заказы при закрытии формы заказ1.
Для этого необходимо создать запрос на удаление на основе таблицы заказ (условие отбора №заказа>=0) и в таблице заказ в строке №заказа указать значение по умолчанию 0, условие на значение >=0.
Макрокоманда | Аргумент | |
ОткрытьЗапрос | Заказ запрос/ Таблица/ Изменение |
Рисунок 34 Макрос Выход
Для запуска макроса при закрытии формы Заказ1, нужно на вкладке события этой формы выбрать закрытие и макрос Выход.
Пример работы макросов.
Просмотр количества товара на складе.
Рисунок 35 Просмотр количества товара на складе
Просмотр количества на складе после изменения количества на 1000.
Рисунок 36 Просмотр количества на складе после изменения количества на 1000
КОНТРОЛЬНЫЕ ВОПРОСЫ
1. Какие функции выполняет макрос AutoExec?
2. Виды макросов?
3. Назначение макросов?
4. Какие аргументы имеет макрокоманда Открыть запрос?
5. Какая макрокоманда позволяет из макроса вывести на экран сообщение?
6. Какая макрокоманда отключает вывод предупреждающих сообщений, выдаваемых выполняющимися запросами?
7. Как изменить последовательность выполнения макрокоманд в макросе?
8. Назначение макрокоманды СдвигРазмер?
9. Какая макрокоманда позволяет изменить текущую запись в объекте?
10. Какая макрокоманда изменяет значение поля записи?
ЛИТЕРАТУРА
1. Дейт К. Введение в системы баз данных, 6-е изд. пер. с англ., М.-С-Пб-К: Издательский дом «Вильямс», 2000 – 848с.: ил.
2. Хансен Г.,Хансен Д.Базы данных: разработка и управление, пер. с англ., М.: ЗАО«Издательство БИНОМ», 1999. – 704с.: ил.
3. Карпова Т. Базы данных. Модели, разработка, реализация, Изд. Питер 2001 г. ISBN 5-272-00278-4
4. Вейскас Дж. Эффективная работа с Microsoft Access 2000, Пер. с англ. В. Широков Изд. СПб. М. Харьков Питер 2000
5. Ю. Бекаревич, Н. Пушкина MS ACCESS 2000
СПИСОК ТАБЛИЦ
Таблица 1 Характеристики полей таблицы Преподаватель.................................. 10
Таблица 2 Характеристики полей таблицы Студент............................................. 11
Таблица 3 Характеристики полей таблицы Дисциплины...................................... 12
Таблица 4 Характеристики полей таблицы Оценки.............................................. 12
Таблица 5 Преподаватели....................................................................................... 15
Таблица 6 Студент................................................................................................... 15
Таблица 7 Дисциплины........................................................................................... 17
Таблица 8 Оценки.................................................................................................... 18
Таблица 9 Аргументы команд макроса О1............................................................ 38
Таблица 10 Аргументы команд макроса О2.......................................................... 39
Таблица 11 Аргументы команд макроса отчисления............................................ 42
Таблица 11 Аргументы команд макроса отчисления............................................ 42
СПИСОК ИЛЛЮСТРАЦИЙ
Рисунок 1 Форма Дисциплины............................................................................... 15
Рисунок 2 Форма Преподаватели........................................................................... 15
Рисунок 3 Форма Преподаватели........................................................................... 16
Рисунок 4 Форма Студент 1.................................................................................... 17
Рисунок 5 Форма Оценки........................................................................................ 19
Рисунок 6 Форма Преподаватели и дисциплины после работы мастера............. 26
Рисунок 7 Форма Преподаватели и дисциплины после доработки в режиме конструктора........................................................................................................................... 27
Рисунок 8 Запрос на выборку в режиме конструктора Дисциплины оценки студенты............................................................................................................................ 27
Рисунок 9 Результат запроса Дисциплины оценки студенты................................ 28
Рисунок 10 Перекрёстный запрос на основании запроса Дисциплины Оценки Дисциплины в режиме конструктора..................................................................................... 28
Рисунок 11 Результат перекрёстного запроса Дисциплины Оценки Дисциплины 28
Рисунок 12 Форма Дисциплины Преподаватели................................................... 29
Рисунок 13 Оценки по дисциплинам..................................................................... 29
Рисунок 14Форма успеваемости студентов в режиме конструктора.................... 31
Рисунок 15 Главная страница кнопочного меню Деканат.................................... 34
Рисунок 16 Страница «Формы для ввода»............................................................ 35
Рисунок 17 Страница Архив.................................................................................. 35
Рисунок 18 Результат выполнения макроса........................................................... 38
Рисунок 19 Групповой линейный макрос Двоечники........................................... 38
Рисунок 20 Окно свойств формы Дисциплина....................................................... 39
Рисунок 21 Окно свойств поля Код дисциплины................................................... 40
Рисунок 22 Окно команды Последовательность перехода формы Дисциплина.. 40
Рисунок 23 Макрос отчисления студентов............................................................. 41
Рисунок 24 Форма Действие................................................................................... 43
Рисунок 25 Макрос на выбор действия.................................................................. 43
Рисунок 26 Макросы для перехода к выбору действия и выход из форм Студенты и Архив........................................................................................................................... 44
Рисунок 27 Пример работы макросов добавление в архив и удаление из архива 44
Рисунок 28 Схема БД СКЛАД................................................................................ 45
Рисунок 29 Макрос на открытие формы Заказ1.................................................... 45
Рисунок 30 Форма заказ1....................................................................................... 45
Рисунок 31 Макрос Склад...................................................................................... 46
Рисунок 32 Запрос на выборку в режиме конструктора....................................... 46
Рисунок 33 Макрос Запрос..................................................................................... 46
Рисунок 34 Макрос Выход...................................................................................... 47
Рисунок 35 Просмотр количества товара на складе.............................................. 47
Рисунок 36 Просмотр количества на складе после изменения количества на 1000 47