Периодически требуется просматривать данные о заказах различных фирм. Можно создать отчет на основе параметрического запроса и вводить с клавиатуры название фирмы. А можно создать специальную форму, позволяющую выбирать из списка название фирмы и просматривать в отчете данные о заказах этой фирмы
ü Создайте отчет Клиенты с группировкой по фирме
ü Создайте новую форму ВЫБОР ФИРМЫ при помощи Конструктора, без использования источника данных
ü Создайте поле со списком , позволяющее выбирать название фирмы.(кнопку мастера не отключайте)
ü Измените имяполя со списком
· Выделите поле со списком
· Откройте окноСвойств
· Вкладка -- Другие
· Введите имя - Фирма
ü Создайте макрос ВЫБОР
· Щелчок правой клавишей по полю Фирма
· Откройте окно Свойств
· Вкладка События
· Строка Изменение
· кнопка … - Макросы
ü Выберите из списка макрокоманду Открыть Отчет
ü Введите аргументы макрокоманды
· Выберите имя отчета Клиенты
· Укажите режим Просмотр
· Условие отбора лучше создать при помощи построителя выражений
[КодКлиента]=[Forms]![Выбор Фирмы]![Фирма]
ü Выберите из списка макрокоманду Закрыть
ü Сохраните изменения
ü Откройте форму ВЫБОР ФИРМЫ и проверьте действие макроса ВЫБОР
Пример создания макроса архивации старых данных.
С течением времени в таблице Заказы скапливаются старые записи о заказах, которые не требуются для текущей работы. Периодически убирая старые и редко использующиеся данные в таблицу Старые Заказы увеличивается быстродействие основных частей БД.
ü Скопируйте таблицу Заказы с сохранением структуры (но не данных) в таблицу Старые Заказы
ü Откройте таблицу Старые Заказы в режиме Конструктора и добавить поле Стоимость (денежное поле)
ü Создайте запрос Добавление В Архив , используя таблицы Заказы, Компьютеры, Принтеры.
· При создании запроса используйте все поля из таблицы Заказы
· Создайте вычисляемое поле Стоимость
· Условие отбора записей укажите для поля Даты Заказа (например <Date( ) -30. )
ü Преобразуйте в запрос на добавление (меню ЗАПРОС )
· Проверьте выполнение запроса в режиме таблицы (Вид – Таблица), но не выполняйтезапрос
ü После копирования устаревших данных их необходимо удалить из таблицы Заказы. Для этого необходимо создать запрос Удаление В Архив.
Пример Запроса на Удаление
Условие отбора должно совпадать с условием отбора для запроса Добавление В Архив.
ü Создайте макрос Архивация
Перейдите на вкладку Макросы и нажмитеь кнопку Создатьи создайте следующий макрос
Макрокоманда
Аргументы макрокоманды
Примечание
Установить Сообщение
Выключить сообщение: нет
Выключение системных сообщений
Открыть Запрос
имя: Добавление в Архив
режим: Таблица
режим данных: Изменение
Выполнение запроса
Добавление в Архив
Открыть Запрос
имя: Удаление в Архив
режим: Таблица
режим данных: Изменение
Выполнение запроса
Удаление в Архив
Сообщение
Сообщение: Архивация старых заказов выполнена
Сигнал: да
Тип: Отсутствует
Заголовок: Архивация
Создание сообщения о выполнение
ü Создайте на кнопочной форме кнопку, позволяющую выполнять архивацию старых заказов.
Пример макроса, позволяющего изменять кол-во компьютеров на складе, при заполнении формы ЗАКАЗ.
Если пытаемся заказать больше компьютеров, чем есть на складе выводится соответствующее сообщение и блокируется ввод. При вводе допустимого количества компьютеров , это количество вычитается из количества компьютеров на складе.
Данная форма создавалась на основе запроса, в который включались все поля из таблицы Заказы и поля НаскладеК, НаскладеП из таблиц Компьютеры, Принтеры соответственно, а также вычисляемое поле Стоимость. В дальнейшем поля НаскладеК, НаскладеП, , показывающие количество товара на складе ,будут спрятаны с экрана
ü Откройте форму Заказ в режиме Конструктора
ü Перейдите на вкладку Макросыи создайте макрос Склад, позволяющий при вводе данных о количестве заказанных компьютеров в поле колК формы Заказизменять количество компьютеров на складе (НаскладеК)в форме (таблице) Компьютеры.
Макрокоманда
Аргументы
Примечание
Открыть форму
Имя формы:Компьютеры
Условие отбора:
[Код]=[Forms]![Заказы]![Код]
Открывает форму так, чтобы была видна только запись выбранной модели