Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
НИНХ лабораторные Access 2007.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
9.08 Mб
Скачать

Вопросы и упражнения

  1. С помощью запроса узнать, кто из контрагентов обслуживаются одинаковыми банками?

  2. С помощью запроса определить, кто из менеджеров является лидером продаж?

  3. С помощью запроса определить, кто из менеджеров оформил заказы на диваны и гарнитуры в первой декаде 2011 г.

  4. Сколько заказов было осуществлено каждым покупателем?

  5. Поясните, почему кнопки одних типов запросов помечены красными восклицательными знаками, а другие – черными?

Тема 8. Создание макросов

Макросом называют набор из одной или более макрокоманд, выполняющих определенные операции. Макросы необходимы для автоматизации бизнес-процессов.

В рассматриваемой нами задаче необходимо с помощью макроса автоматизировать процесс обработки заказов покупателя: в результате выполнения заказа остаток каждого заказанного товара в таблице Товар на базе должен уменьшиться на соответствующее заказу количество. Если же какой-то товар заказан в количестве большем, чем этого товара имеется на базе, то заказ на такой товар вначале корректируется (делается равным остатку этого товара на базе), а затем исполняется.

Процесс обработки заказа можно разделить на несколько этапов:

  1. Подготовка необходимых для обработки объектов (формы Товар на базе и Заказ на товар).

  2. Поиск заказанных товаров в таблице Товар на базе (совпадение по полю Код товара).

  3. Подтверждение наличия искомого товара в требуемом количестве.

  4. Уменьшение остатка товара на базе на величину заказа.

Задание 1. Создание временной таблицы для обработки заказа.

Пояснения.

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

Для этого воспользуйтесь возможностью Запроса на создание таблицы:

  1. На вкладке Создание перейдите в Конструктор запросов;

  2. Оформите запрос как показано на рис. 8.1.

  3. Вычисляемое поле Сумма должно выглядеть следующим образом:

Сумма: [Заказ на товар]![Количество]*[Товар на базе]![Цена].

Рис.8.1 Запрос на текущий заказ в режиме конструктора

  1. В разделе тип запроса выберите команду Создание таблицы .

  2. В открывшемся диалоговом окне присвойте создаваемой таблице имя Текущий заказ (рис. 8.2).

Рис.8.2 Создание таблицы Текущий заказ

  1. Выберите команду и убедитесь, что таблица отобразилась в списке объектов Области переходов.

  2. Присвойте запросу имя: Запрос на текущий заказ.

  3. Запустите созданный запрос. В диалоговом окне Ввода значения параметра введите код одного из существующих заказов и убедитесь, что таблица Текущий заказ заполнилась данными из выбранного заказа.

  4. Для выполнения следующего задания оформите новый заказ, содержащий одну позицию и зафиксируйте в тетради код заказанного товара.

  5. Создайте формы Товар на базе и Текущий заказ любым из известных вам способов.

Создание макроса

Ознакомимся с общими принципами создания, запуска и отладки простейших наборов макрокоманд.

  1. На вкладке Создание щелкните кнопку Макрос, откроется построитель макросов (рис. 8.3).

Рис.8.3. Окно конструктора макросов

  1. При помощи кнопки Показать все действия переключите содержимое раскрывающегося списка в столбце Макрокоманда в режим отображения полного набора действий.

  2. В окне построителя макросов создайте список макрокоманд, которые требуется выполнить при запуске макроса.

  3. Для добавления в макрос других макрокоманд перейдите на следующую строку. Макрокоманды выполняются в порядке их расположения в бланке.

  4. Если в макросе некоторая макрокоманда должна выполняться только при определенном условии, то такая макрокоманда должна содержать условное выражение. Если условное выражение ложно, Access игнорирует эту макрокоманду и переходит к ближайшей строке.

Задание 2. В конструкторе макросов создайте набор макрокоманд, показанный в таблице, и присвойте ему имя Пробный макрос (см. также рис. 8.4).

Пробный макрос

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

Аргумент

Значение

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

Имя запроса

Запрос на Текущий заказ

Режим

Таблица

Режим данных

Изменение

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

Имя формы

Текущий заказ

Режим

Форма

Режим данных

Изменение

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

Имя формы

Товар на базе

Режим

Форма

Режим данных

Изменение

Окно Сообщения

Сообщение

Формы для обработки открыты

  1. Выберите команду , а затем команду выполнить.

При правильном выполнении задания в результате работы макроса должны последовательно открыться формы Текущий заказ и Товар на базе, появиться сообщение о готовности форм к работе. Это будет означать, что первый этап процесса обработки заказа выполнен.

Рис. 8.4. Пробный макрос в режиме конструктора

  1. Для поиска заказанных товаров в таблице Товар на базе (совпадение по полю Код товара) дополните Пробный макрос следующими командами:

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

Аргумент

Значение

ЗапускМакроса

Имя макроса

Макрос2

Число повторов

Условие повтора

[Формы]![Текущий заказ]![Код товара]<>[Формы]![Товар на базе]![Код товара]

Окно Сообщения

Сообщение

Заказанный товар найден

Остановить макрос

Для заполнения строки Условие повтора воспользуйтесь построителем (рис. 8.5).

Рис.8.5. Задание условия повтора

  1. Создайте Макрос2, необходимый для перемещения по строкам таблицы Товар на базе во время поиска кода заказанного товара.

Макрос: Макрос2

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

Аргумент

Значение

НаЗапись

Тип объекта

Форма

Имя объекта

Товар на базе

Запись

Следующая

  1. Запустите Пробный макрос по шагам и убедитесь, что в таблице Товар на базе действительно найден заказанный Вами товар.