На підлеглу форму або звіт можна посилатися так само, як і на будь-який інший елемент управління, т. к. підпорядкована форма і підлеглий звіт є одним з типів елементів управління. Наприклад:
Forms! Замовлення! ПодформаТовари
Тут ПодформаТовари - це ім'я елемента керування у формі "Замовлення", який представляє собою підлеглу форму.
А ось посилання на елемент керування в підлеглій формі або звіті має особливу структуру: після імені елемента керування, який є підлеглою формою, потрібно спочатку вказати спеціальне властивість: Form - для форм або Report - для звітів, а потім ім'я елемента управління, на який виконується посилання:
Перейдемо до прикладів застосування макрокоманд Access. Для відбору записів у формах, звітах, таблицях використовується макрокоманда Примі нитка Фільтр (ApplyFilter). Поставити фільтр можна двома способами: або вказавши ім'я заздалегідь створеного фільтра в аргументі Ім'я фільтра (Filter Name), або безпосередньо задавши умову вибірки в аргументі Умова відбору (Where Condition). Якщо фільтр потрібно застосувати відразу при відкритті форми, тоді з подією Відкриття (On Open) форми необхідно пов'язати макрос, що містить макрокоманду ПріменітьФільтр (ApplyFilter). Якщо потрібно міняти набір відображуваних записів у відкритій формі динамічно, поступають таким чином:
створюють у цій формі набір полів, в яких можна задати умови відбору;
створюють кнопку Застосувати фільтр, з якою пов'язують макрос, що містить макрокоманду ПріменітьФільтр (ApplyFilter). Як значення аргументу Умова відбору (Where Condition) для цієї дії вказують вираз, що містить посилання на ці поля.
Приклад такого рішення наведено на Мал. 15. На цьому малюнку представлена форма "Товари" (Products), що дозволяє переглядати товари з вибіркою за різними критеріями.
Ця форма побудована на основі таблиці "Товари" (Products) за допомогою Майстра автоматичної генерації стрічкових форм. Потім в режимі Конструктора форм до неї додані поля для визначення критеріїв вибору та кнопки для застосування і скасування фільтра. Відповідні макроси, пов'язані з подією Натиснення, кнопки (On Click), наведено на Мал. 16. Для відміни фільтру використовується макрокоманда ПоказатьВсеЗапісі (ShowAllRecords).
Мал.15. Форма для відбору записів за заданим критеріям
Мал.16. Макроси для установки та скасування фільтра у формі "Товари"
На Мал. 16 представлено два макроси: УстановітьФільтр і Скасувати Фільтр. У діалоговому вікні Область введення (Zoom) відображує значення аргументу Умова відбору (Where Condition) дії ПріменітьФільтр (ApplyFilter). Зверніть увагу, умова вийшло досить складним, а довжина поля Умова відбору (Where Condition) обмежена 255 символами. Тому, якби ми включили в умови відбору ще одне поле, наприклад "Поставки припинені", нам довелося б окремо створити спеціальний фільтр і задати його ім'я в аргументі Ім'я фільтра (Filter Name).
У макросі "ОтменітьФільтр", крім дії ПоказатьВсеЗапісі (ShowAllRecords), потрібні ще дві дії, щоб очистити поля "ВиборПоставщіка" і "ВиборТіпа", тобто присвоїти їм значення Пусто (Null). Це робиться за допомогою дії ЗадатьЗначеніе (SetValue).