
- •Разработка приложений с помощью
- •Учебное пособие
- •Тема 1. Знакомство с оболочкой Access Запуск программы
- •Оболочка Access
- •Создание новой базы данных
- •Окно базы данных
- •Тема 2. Проектирование таблиц базы данных Создание базы данных
- •Создание таблиц
- •Определение полей таблицы
- •Задание свойств полей
- •Определение ключевого поля
- •Создание связей между таблицами.
- •Вопросы и упражнения
- •Тема 3. Ввод и редактирование записей
- •Ввод данных непосредственно в таблицу
- •Ввод данных с использованием поля со списком
- •Импортирование таблиц в свою базу данных
- •Пояснения.
- •Вопросы и упражнения
- •Тема 4. Создание простых форм
- •Автоматическое создание формы в столбец.
- •Создание формы в режиме мастера форм.
- •Создание формы в режиме конструктора
- •Вопросы и упражнения
- •Тема 5. Разработка сложных форм
- •Создание сложной формы.
- •Создание вычисляемых полей
- •Добавление управляющих элементов в форму.
- •Вопросы и упражнения
- •Тема 6. Создание запросов с помощью Мастера
- •Формирование простых запросов
- •Перекрестный запрос
- •Поиск повторяющихся записей
- •Поиск записей, не имеющих подчиненных
- •Вопросы и упражнения
- •Тема 7. Формирование запросов с помощью Конструктора
- •Конструирование запроса
- •Выполнение запроса
- •Ввод условий отбора
- •Сортировка записей в выборке
- •Проведение группировки и групповых вычислений
- •Вычисляемые поля в запросах
- •Запрос с параметрами
- •Запрос на обновление
- •Основы sql
- •Вопросы и упражнения
- •Тема 8. Создание макросов
- •Создание макроса
- •Примеры макросов
- •Макрос: Макрос2
- •Отладка макросов
- •Вопросы и упражнения
- •Тема 9. Проектирование выходных документов с помощью отчетов
- •Разделы отчета
- •Создание отчета при помощи стандартного средства Отчет
- •Создание отчета с помощью Мастера отчетов
- •Формирование отчета с помощью конструктора
- •Макрос: Формирование Книги продаж
- •Макрос: МакросФормир
- •Вопросы и упражнения
- •Тема 10. Создание главной кнопочной формы
- •10.20. Установка параметров для отображения главной кнопочной формы при запуске базы данных
- •Тема 11 Этапы разработки приложений
- •Индивидуальные практические задания
- •Задания повышенной сложности
- •Приложения Приложение 1. Моделирование баз данных с помощью пакета eRwin Основные функции пакета
- •Создание логической модели
- •Создание физической модели
- •Прямое и обратное проектирование
- •Создание отчетов в пакете Erwin
- •Приложение 2. Тесты
- •Словарь терминов
- •Список литературы
- •Оглавление
Вопросы и упражнения
С помощью запроса узнать, кто из контрагентов обслуживаются одинаковыми банками?
С помощью запроса определить, кто из менеджеров является лидером продаж?
С помощью запроса определить, кто из менеджеров оформил заказы на диваны и гарнитуры в первой декаде 2011 г.
Сколько заказов было осуществлено каждым покупателем?
Поясните, почему кнопки одних типов запросов помечены красными восклицательными знаками, а другие – черными?
Тема 8. Создание макросов
Макросом называют набор из одной или более макрокоманд, выполняющих определенные операции. Макросы необходимы для автоматизации бизнес-процессов.
В рассматриваемой нами задаче необходимо с помощью макроса автоматизировать процесс обработки заказов покупателя: в результате выполнения заказа остаток каждого заказанного товара в таблице Товар на базе должен уменьшиться на соответствующее заказу количество. Если же какой-то товар заказан в количестве большем, чем этого товара имеется на базе, то заказ на такой товар вначале корректируется (делается равным остатку этого товара на базе), а затем исполняется.
Процесс обработки заказа можно разделить на несколько этапов:
Подготовка необходимых для обработки объектов (формы Товар на базе и Заказ на товар).
Поиск заказанных товаров в таблице Товар на базе (совпадение по полю Код товара).
Подтверждение наличия искомого товара в требуемом количестве.
Уменьшение остатка товара на базе на величину заказа.
Задание 1. Создание временной таблицы для обработки заказа.
Пояснения.
В процессе оформления заказов от покупателей Вами была сформирована таблица Заказ на товар, которая содержит множество заказов с различными кодами заказов. Для обработки заказа с определенным кодом создадим новую таблицу, содержащую только один этот заказ.
Для этого воспользуйтесь возможностью Запроса на создание таблицы:
На вкладке Создание перейдите в Конструктор запросов;
Оформите запрос как показано на рис. 8.1.
Вычисляемое поле Сумма должно выглядеть следующим образом:
Сумма: [Заказ на товар]![Количество]*[Товар на базе]![Цена].
Рис.8.1 Запрос на текущий заказ в режиме конструктора
В разделе тип запроса выберите команду Создание таблицы
.
В открывшемся диалоговом окне присвойте создаваемой таблице имя Текущий заказ (рис. 8.2).
Рис.8.2 Создание таблицы Текущий заказ
Выберите команду
и убедитесь, что таблица отобразилась в списке объектов Области переходов.
Присвойте запросу имя: Запрос на текущий заказ.
Запустите созданный запрос. В диалоговом окне Ввода значения параметра введите код одного из существующих заказов и убедитесь, что таблица Текущий заказ заполнилась данными из выбранного заказа.
Для выполнения следующего задания оформите новый заказ, содержащий одну позицию и зафиксируйте в тетради код заказанного товара.
Создайте формы Товар на базе и Текущий заказ любым из известных вам способов.
Создание макроса
Ознакомимся с общими принципами создания, запуска и отладки простейших наборов макрокоманд.
На вкладке Создание щелкните кнопку Макрос, откроется построитель макросов (рис. 8.3).
Рис.8.3. Окно конструктора макросов
При помощи кнопки Показать все действия переключите содержимое раскрывающегося списка в столбце Макрокоманда в режим отображения полного набора действий.
В окне построителя макросов создайте список макрокоманд, которые требуется выполнить при запуске макроса.
Для добавления в макрос других макрокоманд перейдите на следующую строку. Макрокоманды выполняются в порядке их расположения в бланке.
Если в макросе некоторая макрокоманда должна выполняться только при определенном условии, то такая макрокоманда должна содержать условное выражение. Если условное выражение ложно, Access игнорирует эту макрокоманду и переходит к ближайшей строке.
Задание 2. В конструкторе макросов создайте набор макрокоманд, показанный в таблице, и присвойте ему имя Пробный макрос (см. также рис. 8.4).
Пробный макрос
Макрокоманда |
Аргумент |
Значение |
ОткрытьЗапрос |
Имя запроса |
Запрос на Текущий заказ |
|
Режим |
Таблица |
|
Режим данных |
Изменение |
ОткрытьФорму |
Имя формы |
Текущий заказ |
|
Режим |
Форма |
|
Режим данных |
Изменение |
ОткрытьФорму |
Имя формы |
Товар на базе |
|
Режим |
Форма |
|
Режим данных |
Изменение |
Окно Сообщения |
Сообщение |
Формы для обработки открыты |
Выберите команду
, а затем команду выполнить.
При правильном выполнении задания в результате работы макроса должны последовательно открыться формы Текущий заказ и Товар на базе, появиться сообщение о готовности форм к работе. Это будет означать, что первый этап процесса обработки заказа выполнен.
Рис. 8.4. Пробный макрос в режиме конструктора
Для поиска заказанных товаров в таблице Товар на базе (совпадение по полю Код товара) дополните Пробный макрос следующими командами:
Макрокоманда |
Аргумент |
Значение |
ЗапускМакроса |
Имя макроса |
Макрос2 |
|
Число повторов |
|
|
Условие повтора |
[Формы]![Текущий заказ]![Код товара]<>[Формы]![Товар на базе]![Код товара] |
Окно Сообщения |
Сообщение |
Заказанный товар найден |
Остановить макрос |
|
|
Для
заполнения строки Условие
повтора воспользуйтесь
построителем
(рис. 8.5).
Рис.8.5. Задание условия повтора
Создайте Макрос2, необходимый для перемещения по строкам таблицы Товар на базе во время поиска кода заказанного товара.
Макрос: Макрос2
Макрокоманда |
Аргумент |
Значение |
НаЗапись |
Тип объекта |
Форма |
|
Имя объекта |
Товар на базе |
|
Запись |
Следующая |
Запустите Пробный макрос по шагам и убедитесь, что в таблице Товар на базе действительно найден заказанный Вами товар.