Использование Мастера форм для создания главной и подчиненной форм


Составную форму с подчиненными формами можно создать также с помощью Мастера форм. Это несколько сложнее, чем использование Мастера автоформ, но зато дает возможность поместить в формы не все поля, а только те, что требуется.
Рассмотрим создание такой формы для таблиц "Сотрудники" (Employees) и "Заказы" (Orders). Снова обратимся к схеме данных и убедимся, что таблица "Сотрудники" (Employees) связана с таблицей "Заказы" (Orders) отношением "один-ко-многим":

  1. Нажмите стрелку справа от кнопки Новый объект (New Object) на панели инструментов и выберите в списке команду Форма (Form) или нажмите кнопку Создать (New) на странице Формы (Forms) окна База данных (Database).
  2. В диалоговом окне Новая форма (New Form) выделите элемент списка Мастер форм (Form Wizard), выберите в поле со списком таблицу для главной формы — "Сотрудники" (Employees) — и нажмите кнопку ОК.
  1. В первом диалоговом окне Мастера форм в списке Доступные поля (Available Fields) выберите те поля, которые вы хотите включить в главную форму. Затем в этом же окне в поле со списком Таблицы и запросы (Tables/Queries) "выберите запрос "Запрос Заказы" (Orders Qry), который содержит данные из двух таблиц: "Заказы" (Orders) и "Клиенты" (Customers). В списке Доступные поля (Available Fields) из этого запроса выберите поля, которые необходимо включить в подчиненную форму. Нажмите кнопку Далее (Next).
  1. В следующем окне Мастера предлагается выбрать, какая из двух таблиц будет главной (по умолчанию устанавливается первая таблица, поля из которой мы выбирали). Переключатель, определяющий вид представления иерархии форм, по умолчанию установлен в значение Подчиненные формы (Form with subform(s)). Это то, что нам нужно. Нажимаем кнопку Далее (Next).
  2. В остальных диалоговых окнах нужно выбрать вид подчиненной формы (ленточный или табличный), стиль и задать имена для главной и подчиненной форм. После нажатия кнопки Готово (Finish) создается форма, содержащая одну подчиненную форму, которая выглядит примерно так.

Теперь можно открыть эту форму в режиме Конструктора и настроить ее нужным образом.
 
Добавление подчиненной формы в главную форму
Подчиненная форма является элементом управления и, как и все остальные элементы, может быть добавлена в главную форму с помощью Мастера подчиненных форм. При этом ее можно создать заранее, и тогда мастеру нужно будет только указать имя добавляемой формы. Если подчиненная форма еще не создана, мастер поможет ее создать.
В качестве примера добавим в форму "Поставщики" (Suppliers) подчиненную форму, которая будет содержать список товаров текущего-поставщика (в исходной версии базы данных "Борей" товары поставщика отображаются в отдельной связанной форме при нажатии кнопки Просмотр товаров (Review Products)):

  1. Откройте форму "Поставщики" в режиме Конструктора и отобразите на экране панель элементов, если ее не видно.
  2. При нажатой кнопке Мастера (Control Wizards) перетащите с панели элементов в область данных формы элемент управления Подчиненная форма/отчет (Subform/ Subreport), поместив ее под всеми остальными элементами. Перед этим можно увеличить высоту области данных, но это необязательно, т. к. она увеличится автоматически после вставки нового элемента.
  3. В первом диалоговом окне мастера выберите переключатель Имеющиеся таблицы и запросы (Use existing Tables and Queries) и нажмите кнопку Далее (Next).
  4. Во втором диалоговом окне Мастера подчиненных форм в раскрывающемся списке Таблицы и запросы (Tables/Queries) выберите таблицу "Товары" (Products). В списке Доступные поля (Available Fields) выберите поля для включения в форму и нажмите кнопку Далее (Next).
  5. В третьем диалоговом окне нужно определить поля, по которым связываются главная и подчиненная формы. Можно выбрать их из списка или задать самостоятельно. Так как таблицы "Поставщики" (Suppliers) и "Товары" (Products) связаны, в списке отображается нужная связь. Выберите ее и нажмите кнопку Далее (Next).
  6. В последнем диалоговом окне нужно задать имя подчиненной формы. По умолчанию предлагается имя "подчиненная форма Товары" (Products subform). Можно оставить-это имя и нажать кнопку Готово.

Результат работы мастера представлен на.

Мастер подчиненных форм удобен тогда, когда подчиненная форма еще не создана. Если подчиненная форма уже существует, можно просто разместить рядом окно базы данных с раскрытой страницей Формы (Forms) и главную форму, открытую в режиме Конструктора и просто перетащить мышью нужную форму из окна базы данных в главную форму. При этом главная становится подчиненной формой и автоматически устанавливается связь между формами.