Фильтрация данных с помощью макрокоманд.
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Для отбора записей в формах, отчетах, таблицах используется макрокоманда ПрименитьФильтр ( AppleFilter ).

Введите поле КодТипа (длинное целое). Добавьте поле Кол в таблицу Товары – количество товара на складе. Названия типов введите в таблице ТипТовара.

 

Рис.1 Создание новой таблицы ТипТовара

Создайте запрос с именем СкладЗапрос на основе таблиц Товары и ТипТовара с полями КодТовара, Название, Цена, Кол из таблицы Товары и поля Тип из таблицы ТипТовара. На основе созданного запроса создайте форму Склад.

 

Рис. 2 Окончательный вид формы Склад

Поле со списком КодТипа основано на таблице ТипТовара. Оно остается свободным. Переименуйте его: дайте ему имя ТипПС.

 

Рис. 3 Форма Склад вид в режиме конструктора

 

Для кнопки Применить фильтр с событием Нажатие кнопки свяжите макрос УстановитьФильтр с одной макрокомандой Применить фильтр. Значение аргумента макрокоманды Условие отбора задать следующим:

Forms![Склад]![ТипПС] Like [Товары]![КодТипа]

Для кнопки Показать все записи создайте макрос ОтменитьФильтр:

 

Рис. 4 Макрос для фильтрации данных

 

Макрокоманда ПоказатьВсеЗаписи не имеет аргументов. Вторая макрокоманда очищает поле со списком ТипПС после отмены фильтра.

Практическая работа № 8

Разработка отчетов

 

Создание отчета Заказы

 

Отчет Заказы должен содержать данные конкретного заказа и печататься из формы Заказы при нажатии соответствующей кнопки. (рис. 5)

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

Последовательно выполните следующие действия.

1. Создайте запрос для отчета Заказы с именем ЗаказыДляОтчетаЗапрос на основе таблиц Заказы, Клиенты, Менеджеры. Включите в него поля КодЗаказа, ДатаЗаказа, ОбщаяСумма – из таблицы Заказы, поле ФИОМенеджера – из таблицы Менеджеры и поля ФИОКлиента, ГородКлиента, Улица, ТелефонКлиента – из таблицы Клиенты.

2. Создайте отчет на базе запроса ЗаказыДляОтчетаЗапрос ‑ рис. 1.

 

Рис.1. Отчет Заказы в режиме Конструктора

 

Создайте подчиненный отчет на базе имеющегося запроса ЗаказаноТовараЗапрос (он уже создан для формы ЗаказаноТовараПодформа) ‑ рис. 2 Присвойте подчиненному отчету имя ЗаказаноТовараПодотчет.

 

Рис.2. ЗаказаноТовараПодотчет в режиме конструктора

 

3. Внедрите подотчет в область данных отчета Заказы. В режиме Конструктора включите Мастер на Панели элементов, выберите элемент Подчиненная форма/отчет, растяните его до нужных размеров в области данных (Рис.3). В первом окне Мастера выберите в качестве источника данных для подотчета из списка отчетов ЗаказаноТовараПодотчет. Следующее окно уточняет имена основных и подчиненных полей: выберите Выбор из списка, строку «ЗаказаноТовараЗапрос для каждой записи ЗаказыДляОтчетаЗапрос». В следующем окне запрашивается надпись к подчиненному отчету: введите Состав заказа и нажмите Готово.

Рис.3 Внедрение подчиненного отчета

 

Высоту подотчета сделайте минимальной: 0,3.-0,4 см. Свойству Расширение (закладка Макет) подотчета присвоено значение Да. То есть его размер при необходимости будет увеличиваться, чтобы вместить все данные, содержащиеся в подотчете.

При просмотре отчета можно увидеть, что в перечне товаров присутствуют записи из всех заказов. Условие, отбирающее записи только текущего заказа, присутствует в макросе ПечатьЗаказа.

В форме Заказы в разделе Примечания создайте кнопку с надписью Печать заказа. С событием Нажатие кнопки свяжите макрос ПечатьЗаказа ‑ рис. 4

Условие отбора [КодЗаказа]=[Forms]![Заказы]![КодЗаказа]

предписывает распечатать текущий заказ.

 

Рис. 4 Разработка макроса для открытия отчета

 

Для того, чтобы иметь возможность просматривать на экране отчет перед выводом на принтер, в макросе установлен режим Просмотр, а не Печать.

При вызове отчета из формы Заказы (кнопка Печать заказа): в отчет попадут строки только текущего заказа – рис. 5.

 

Рис.5. Отчет Заказы в режиме предварительного просмотра на экране

 

Дата: 2019-07-24, просмотров: 265.