
- •Отображение выборочных данных
- •Просмотр с выборкой в форме макрос выбора магазина по списку с заданием условия отбора в запросе
- •Макрос выбора категории по списку с заданием условия отбора в макросе
- •Макрос выбора товара по подстроке с заданием условия отбора в макросе
- •Выборочные отчеты
- •На этой форме разместить следующие надписи:
МАКРОСЫ ВЫБОРКИ 02.11.2009
ОГЛАВЛЕНИЕ
ОТОБРАЖЕНИЕ ВЫБОРОЧНЫХ ДАННЫХ 1
ПРОСМОТР С ВЫБОРКОЙ В ФОРМЕ 1
МАКРОС ВЫБОРА МАГАЗИНА ПО СПИСКУ с заданием условия отбора в запросе 1
МАКРОС ВЫБОРА КАТЕГОРИИ ПО СПИСКУ с заданием условия отбора в макросе 5
МАКРОС ВЫБОРА ТОВАРА ПО ПОДСТРОКЕ с заданием условия отбора в макросе 7
ВЫБОРОЧНЫЕ ОТЧЕТЫ 9
Отображение выборочных данных
Внешний ключ
В базе данных «Товары» (Рисунок 1)Первичный ключ
Рисунок 1 Схема данных БД «Товары»
отобразить на ленточных формах:
просмотр данных, выбранных для конкретного магазина,
просмотр данных, выбранных для конкретной фирмы;
просмотр данных, выбранных для конкретной категории,
просмотр данных, выбранных для конкретного товара,
представить отчеты:
Стоимость товара конкретной категории,
Стоимость товара по конкретному магазину
Просмотр с выборкой в форме макрос выбора магазина по списку с заданием условия отбора в запросе
Для создания макроса «Просмотр данных, выбранных для конкретного магазина» необходимо выполнить следующие шаги:
Сделать копию запроса с вычисляемым полем, дать ему имя «Для ленточной по конкретному магазину», причем в этом запросе обязательно должно быть поле Магазин.
Внимание! Если внешним ключом является поле Код магазина, то в запрос следует принести и поле Код магазина, и поле Магазин.
Создать из запроса «Для ленточной по конкретному магазину» через Мастера форм ленточную форму «Стоимость товара для конкретного магазина» (Рисунок 2), разместить на форме кнопку «Закрыть форму»
Рисунок 2 Ленточная форма для конкретного магазина
Внимание! Если внешним ключом является поле Код магазина, то в ленточную форму не нужно приносить поле Код магазина, а только поле Магазин.
Создать пустую форму (Рисунок 3), и сохранить под именем «ВЫБОРКА», например.
Поле ПолеСоСпМАГАЗИНОВ
Поле ПолеСоСпФИРМ

Рисунок 3 Форма для выборки Магазина, Фирмы, Категории и Товара
На этой форме разместить следующие надписи:
«Выборочные формы»,
«Просмотр данных, выбранных для конкретного магазина»,
«Выберите из списка Магазин».
На этой форме создать ПолеСоСписком из справочной таблицы «Магазины», выбрав для раскрывающего списка поля Магазин, Адрес. Затем ПКМ и в свойствах поля задать уникальное имя полю, например, ПолеСоСпМАГАЗИНОВ.
Внимание! Если первичным ключом является поле Код магазина, то в список следует принести и поле Код магазина, и поле Магазин, и поле Адрес.
Открыть в конструкторе запрос «Для ленточной по конкретному магазину», и в условие отбора поля Магазин через Построитель внести выражение (Рисунок 4)
[Forms]![ Выборочные формы]![ПолеСоСпМАГАЗИНОВ]
Внимание! Если внешним ключом является поле Код магазина, то в запросе в условие отбора поля Код магазина внести выражение,
[Forms]![ Выборочные формы]![ПолеСоСпМАГАЗИНОВ]
Рисунок 4 Условие отбора в запросе
Создать макрос «Ленточная для конкретного магазина»(Рисунок 5)
Рисунок 5 Макрос «Ленточная для конкретного магазина»
Создать макрос «Закрыть форму ВЫБОРКА» (Рисунок 6)
Рисунок 6 Макрос «Закрыть форму ВЫБОРКА»
Привязать макрос к стрелке в раскрывающемся списке ПолеСоСпМАГАЗИНОВ на форме «ВЫБОРКА»:
Форма «ВЫБОРКА» в режиме Конструктора;
Выделить поле раскрывающегося списка ПолеСоСпМАГАЗИНОВ на форме – ПКМ - свойства – события -- После обновления -- открыть список макросов и выбрать ранее созданный макрос «Ленточная для конкретного магазина»;
Привязать макрос «Закрыть форму ВЫБОРКА» к указанной форме:
Форма «ВЫБОРКА» в режиме Конструктора;
в списке объектов базы данных выбрать закладку «Макросы»;
нужный макрос, например «Закрыть форму ВЫБОРКА», перетащить с помощью мыши на форму в нужное место, появляется кнопка, на которой написано «Закрыть форму ВЫБОРКА».
Переключиться в режим Формы и выбрать в раскрывающемся списке ПолеСоСпМАГАЗИНОВ на форме нужное, сразу же сработает макрос.