Способы построения многотабличной формы Явное включение подчиненной формы
При использовании мастера форм подчиненная форма строится только таблицы, которая является подчиненной по отношению к таблице-источнику основной части. Подчиненная форма отображает данные из всех записей подчиненной таблицы, которые связаны с записью главной таблицы, отображаемой в основной части формы. С помощью мастера можно создать составную форму, включающую одну или несколько подчиненных форм стандартного вида с выбранными полями.
Вызов связанной формы по кнопке Мастер форм позволяет создать связанные формы, которые не включаются непосредственно в главную форму. При этом вместо подчиненной формы включается лишь кнопка, представляющая ее. При необходимости связанная подчиненная форма вызывается на экран нажатием этой кнопки. Открывающееся содержимое связанной формы синхронизировано с текущей записью формы. Этот способ построения многотабличной формы удобен в сложных формах, перегруженных большим числом элементов управления, а также если пользователю нет необходимости постоянно видеть связанные данные.
Многотабличная форма без подчиненных и связанных форм
Составная многотабличная форма, построенная мастером, может не включать подчиненные и связанные формы. Такая форма создается, если необходимо отображать записи подчиненной таблицы, дополненные полями из одной или нескольких главных таблиц. В этом случае записеобразующим источником данных, выводимых в форме, является запись подчиненной таблицы. В одной записи, отображаемой в форме, содержатся значения полей из записи подчиненной таблицы и полей из единственной связанной с ней записи главной таблицы.
Замечание
Данные из главной таблицы, отображаемые в такой форме, будут повторяться, т. к. в результате объединения двух нормализованных таблиц образуется ненормализованная структура данных.
Многотабличная форма на основе запроса
Создание формы на основе полей из нескольких взаимосвязанных таблиц с помощью мастера является для пользователя достаточно простой процедурой. Однако, если в базе данных уже имеется запрос, в котором выбраны таблицы, нужные для получения результата, определены поля, которые необходимо включить в результат, целесообразно создавать форму на основе ранее созданного запроса. В этом случае мастер использует результаты работы, проделанной пользователем ранее.
Для запроса, в котором записи создаются объединением записей главной таблицы с каждой из связанных записей подчиненной, мастер создает форму так же, как если бы ему были заданы исходные таблицы. Это связано с тем, что форма, обеспечивающая однократное отображение данных, должна базироваться на исходных нормализованных таблицах. Заметим, что результатом многотабличного запроса является ненормализованная таблица с поощряющимися значениями.
Полученная с помощью мастера составная форма при необходимости может быть отредактирована, в том числе дополнена другими включаемыми формами.
Создание формы мастером, выбор таблиц и полей
Для создания формы в окне База данных (Database) в группе Объекты (Objects) перейти к строке Формы (Forms) и нажать кнопку Создать (New). В диалоговом окне Новая форма (New Form) выбрать режим создания — Мастер форм (Form Wizard ) и можно сразу в качестве источника данных основной части формы выбрать из списка таблицу и запрос.
В открывшемся первый раз диалоговом окне Создание форм (Form Wizard) последовательно выбираются таблицы из списка Таблицы/Запросы (Tables/Queries), начиная с главной, и Доступные поля (Aviable Fields) таблиц, включаемые в форму. Внимание
Если выбраны поля из таблиц, для которых не определена связь в схеме данных, появится сообщение о невозможности создать форму. При этом мастер или предлагает изменить состав полей, или выводит схему данных для возможного определения нужных связей. После изменения связей мастер должен запускаться заново.
Выбор варианта создания многотабличной формы, отображение данных главной и подчиненной таблиц
В новом сеансе окна Создание форм (Form Wizard) в рамке Выберите тип представления данных (How do you want to view your data?) надо выделить таблицу, которая является источником основной части формы. Если таблица была ранее выбрана в окне Новая форма (New Form), то она уже выделена.
Если таблица-источник основной части формы является главной по отношению к другой таблице, тоже выбранной для формы, то в окне Создание форм (Form Wizard) можно выбрать один из двух возможных типов подключения формы:
Для непосредственного включения подчиненной формы надо отметить переключатель Подчиненные формы (Form with subform(s)).
Для включения кнопки, вызывающей связанную форму, надо установить переключатель Связанные формы (Linked forms).
Если был выбран первый вариант, далее предоставляется возможность в следующем сеансе диалогового окна выбрать вид ленточная (Tabular) или табличная (Datasheet) для подчиненной формы.
Замечание
Если таблица-источник основной части формы является подчиненной по отношению к другой таблице, тоже выбранной для формы, то создаваемая многотабличная форма не будет включать подчиненную форму. Однако форма будет содержать поля из главной таблицы. В окне Создание форм (Form Wizard) автоматически будет установлен тип формы Одиночная форма (Single Form). Далее предоставляется возможность выбрать вид формы; В один столбец (Columnar), Ленточный (Tabular) или Табличный (Datasheet).
В следующем сеансе диалогового окна предоставляется возможность выбрать стиль оформления, который определяет общий вид формы, отображение надписей и значений полей в форме.
Завершение создания формы мастером
В последнем сеансе диалогового окна Создание форм (Form Wizard) можно изменить имена основной и подчиненной формы, если был выбран вариант с непосредственным включением подчиненной формы, или имя каждой из связанных форм, если был выбран вариант включения кнопки, вызывающей связанную формуВ том же окне можно выбирать дальнейшие действия: Открыть главную форму для просмотра и ввода данных (Open the form to view or enter information) или Изменить макет форм (Modify the form's design).
Если был выбран вариант Открыть главную форму для просмотра и ввода данных (Open the form to view or enter information), автоматически выводится форма с данными из таблиц, с которыми связана форма. После нажатия кнопки Готово (Finish) мастер завершает создание формы. Сохранение форм производится автоматически.
Доработка формы в режиме конструктора
При выборе варианта Изменить макет форм (Modify the foil's design) форма выводится в режиме конструктора, позволяющем выполнить нужную доработку. Мастер уже разместил в макете форм заданные поля из таблиц-источников основной (главной) и подчиненных формы.
При установке курсора на основной форме при нажатой кнопке панели конструктора форм Список полей (Field List) делается доступным список полей таблицы — источника этой формы. При установке курсора на подчиненной форме становится доступным список полей таблицы источника подчиненной формы.
В процессе доработки формы, используя технику редактирования формы, можно перемещать поля в основной форме, менять их свойства, в том числе шрифт и размеры, подпись поля, текст в заголовке формы. Аналогичные действия по доработке выполняются для подчиненной формы.
Следует отметить исключительную простоту и универсальность всех действий по изменению размеров, перемещению любого элемента, редактированию подписей и т. п. действий. На этапе доработки можно выполнить и более сложные действия по редактированию формы и настроить составную форму в соответствии с любыми требованиями к интерфейсу пользователя. Ниже рассмотрены более подробно возможности Конструктора форм (Form Design) при создании и редактировании форм.
Создание и редактирование многотабличной формы в режиме конструктора
Средствами Конструктора форм (Form Design) можно полностью создать многотабличную форму. Ранее разработанную и сохраненную форму можно в любой момент модифицировать этим конструктором. При создании и редактировании формы можно добавлять новые поля и надписи, включать поля со списком, создавать кнопки, добавлять подчиненные формы, внедрять объекты из других приложений, например, рисунков, диаграмм, а также изменять расположение отдельных полей, их отображение и подписи. При редактировании могут быть выполнены любые изменения и удаление имеющихся элементов, а также добавление новых.
Создание новой формы конструктором
Конструирование формы начинается после выбора объекта Формы (Forms) в окне База данных (Database) и нажатия кнопки Создать (New), которая вызывает окно Новая форма (New Form). В этом диалоговом окне нужно выбрать режим создания формы Конструктор (Design View). Можно сразу в качестве базового источника данных формы выбрать из списка нужную таблицу (запрос).
Вызов конструктора может быть осуществлен из окна базы данных также активизацией значка Создание формы в режиме конструктора (Create form in Design view), позволяющего открыть сразу окно конструктора форм.
После вызова конструктора форм появляется окно конструктора с именем формы по умолчанию — Форма 1 (Form 1) и открывается доступ к списку полей таблицы, выбранной в качестве базового источника данных.
|