Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
База данных(лабы).doc
Скачиваний:
12
Добавлен:
09.11.2019
Размер:
2.91 Mб
Скачать

1.1.4Пример работы макросов добавление в архив и удаление из архива.

Рисунок 32 Пример работы макросов Добавление В Архив и Удаление Из Архива

1.1.5Взаимодействие форм

ЗАДАНИЕ: Пусть есть база данных СКЛАД (см. рис. 30)

Таблица СКЛАД содержит информацию о товарах, хранящихся на складе, таблица ЗАКАЗ содержит информацию об отгруженных товарах со склада. Задачей является уменьшение количества товара на складе в таблице СКЛАД при его заказе, а также сообщение о невозможности выполнения заказа при отсутствии его в нужном количестве на складе.

Рисунок 33 Схема БД СКЛАД

  • Создайте макрос на открытие формы Заказ1.

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

Аргумент

ВыводНаЭкран

нет

Свернуть

ОткрытьФорму

Заказ1/ Форма/ Изменение/ Обычное

СдвигРазмер

10/ 0/ 10/ 6

Рисунок 34 Макрос на открытие формы Заказ1

Рисунок 35 Форма заказ1

В свойствах поля количество формы Заказ1 на вкладке события после обновления выбрать макрос Склад.

Условие

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

Аргумент

ОткрытьФорму

Склад1/ Форма/[код_товара]=[Формы]![заказ1]![код_товара]/ Изменение/ Обычное

СдвигРазмер

15/ 0/ 15/ 6

Свернуть

[Формы]![заказ1]![количество]>[Формы]![склад1]![количество]

Сообщение

Нет требуемого количества

[Формы]![заказ1]![количество]<=[Формы]![склад1]![количество]

ЗадатьЗначение

[Формы]![заказ1]![стоимость]/ [Формы]![заказ1]![количество]*[Формы]![склад1]![отпускная цена]

Обновление

Закрыть

Форма/склад1/подсказка

Рисунок 36 Макрос Склад

Для просмотра количества товара на складе создать макрос Запрос.

Перед его созданием надо создать запрос на выборку на основе таблицы СКЛАД и задать условие отбора: [Forms]![заказ1]![код_товара]

Рисунок 37 Запрос на выборку в режиме конструктора

На его основе создаем форму и запишем макрос, открывающий эту форму.

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

Аргумент

ОткрытьФорму

Склад запрос/ Форма/ Изменение/ Обычное

Рисунок 38 Макрос Запрос

Чтобы макрос запускался при двойном нажатии по полю количество, нужно открыть форму заказ1 , КЗМ поля код_товара, свойства поля, вкладка События, Двойное нажатие кнопки - имя макроса Запрос

Далее создадим макрос Выход, который удалял бы все заказы при закрытии формы заказ1.

Для этого необходимо создать запрос на удаление на основе таблицы заказ (условие отбора №заказа>=0) и в таблице заказ в строке №заказа указать значение по умолчанию 0, условие на значение >=0.

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

Аргумент

ОткрытьЗапрос

Заказ запрос/ Таблица/ Изменение

Рисунок 39Макрос Выход

Для запуска макроса при закрытии формы Заказ1, нужно на вкладке события этой формы выбрать закрытие и макрос Выход.