Общая характеристика экранных форм Формами называются настраиваемые диалоговые окна, хранящиеся в базе данных в виде объектов специального типа. Формы содержат элементы управления, с помощью которых осуществляется доступ к данным в таблицах, что является, во многих случаях, более удобным способом просмотра и изменения данных. Элементы управления бывают либо присоединенные, когда они связаны с определенным полем в определенной таблице (запросе), либо свободные – находящиеся в форме для отображения дополнительной информации. Свободный элемент может содержать результат вычислений, основанный на информации, отображаемой другими элементами управления. Например, свободный элемент может перемножать значения полей Цена и Количество и отображать получаемый результат – Сумму.
Источником данных для формы может быть либо таблица, либо запрос. Как правило, формы, предназначенные для ввода данных, строятся на основе таблицы, например справочники товаров, сотрудников и проч. Формы, которые должны в удобном виде представить данные оперативной информации, как правило, строятся на основе запросов, т.к. они могут отображать данные из нескольких таблиц.
Формы бывают простыми и подчиненными. В качестве источника данных для простой формы выступает одна таблица или один запрос. Как правило, простые формы строят с помощью режимов: Автоформа: в столбец (одна запись в области данных), Автоформа: ленточная (последовательность из нескольких записей) и Автоформа: табличная (аналог таблицы) или с помощью Мастера форм.
Подчиненная форма представляет собой форму внутри формы. Первичная форма называется главной, а подчиненная вложена (или погружена) в главную форму. Использование подчиненной формы внутри главной позволяет видеть и изменять связанные записи из двух различных таблиц, внутри одной и той же формы. Поле связи для синхронизации в основной форме называется основным, а в подформе – подчиненным.
Простые и подчиненные формы могут быть основаны как на таблицах, так и на запросах (содержащих только необходимые поля). Допускается создание двухуровневых подчиненных форм – это означает, что можно иметь подчиненную форму внутри главной формы, а другую подчиненную форму – внутри первой подчиненной формы.
Пример выполнения задания
Простая форма
Для создания простой формы, для ввода и отображения данных справочной информации о способах доставки товара нажмите на вкладке Формы кнопку , затем выберите в появившемся списке Авто-форма: в столбец, а в качестве источника данных выберите из раскрывающегося списка таблицу Доставка и нажмите кнопку . В результате будет построена форма, представленная на рисунке 122.
Рисунок 122 – Автоформа: в столбец
Составная форма, основанная на двух таблицах
Создадим форму, содержащую информацию о поставщиках и поставляемых ими товарах. Это будет так называемая составная форма, которая позволяет одновременно отображать на экране записи из таблиц, связанных отношением «один-ко-многим». В главной форме отображается запись из таблицы «один», а в подчиненной – множество связанных с ней записей из таблицы «многие». В учебной базе Борей таблица Поставщики связана отношением «один-ко-многим» с таблицей Товары (один поставщик может поставлять множество товаров), поэтому главная форма будет содержать данные из таблицы Поставщики, а подчиненная – из таблицы Товары.
Для создания составной формы нажмите на вкладке Формы кнопку , затем выберите в появившемся списке Мастер форм и нажмите кнопку (рис. 123).
Рисунок 123 – Создание составной формы с помощью Мастера
На следующем шаге мастера следует выбрать из таблиц те поля, которые будут присутствовать в форме. Сначала нужно выбрать поля для главной формы.
Выберите в списке Таблицы и запросы в качестве источника данных ту таблицу, данные из которой будут отображаться в главной форме, т.е. таблицу Поставщики (рис. 124).
Рисунок 124 – Выбор таблицы-источника для главной формы
Затем перенесите из списка Доступные поля в список Выбранные поля те поля, которые вы хотите видеть в главной форме, например, поля: Название, Адрес и Телефон. Для этого следует в списке Доступные поля выделить имя поля, например, Название и нажать кнопку для переноса в список Выбранные поля (рис. 125).
Если поле выбрано ошибочно, следует нажать кнопку для удаления поля из списка Выбранные поля.
Рисунок 125 – Выбор полей для главной формы
После того, как были выбраны все поля для главной формы, следует выбрать поля, которые будут отображаться в подчиненной форме. Выберите в списке Таблицы и запросы в качестве источника данных ту таблицу, данные из которой будут отображаться в подчиненной форме, т.е. таблицу Товары (рис. 126).
Рис. 126 – Выбор таблицы-источника для подчиненной формы
Затем перенесите из списка Доступные поля в список Выбранные поля те поля, которые вы хотите видеть в подчиненной форме, например, поля: КодТипа, Марка, Цена, НаСкладе (рис. 127).
Рисунок 127 – Выбор полей для подчиненной формы
Нажмите кнопку и на следующем шаге мастера, в диалоговом окне, выберите переключатель Подчиненные формы. В поле образца сразу показано, как будут выглядеть будущие формы (рис. 128).
Рисунок 128 – Выбор вида представления формы
Нажмите кнопку и следуйте указаниям мастера. На следующем шаге выберите стиль для оформления подчиненной формы, рекомендуемый стиль – табличный (рис. 129).
Рисунок 129 – Выбор внешнего вида подчиненной формы
Нажмите кнопку и выберите требуемый стиль оформления формы, например, Стандартный (или тот, который вам понравится), как показано на рисунке 130. Однако имейте в виду, что наличие в любом из предложенных стилей, кроме Стандартного, графической информации резко увеличивает объем файла базы данных.
Рисунок 130 – Выбор стиля формы
Нажмите кнопку и либо оставьте предлагаемые по умолчанию имена форм, либо введите новые. Введите новое имя для главной формы Поставщики товаров (рис. 131).
Рисунок –131 – Задание имени формы
Нажмите кнопку . На экране появится форма Поставщики товаров (рис. 132), в которой будут отображаться выбранные поля из таблицы Поставщики. Подчиненная форма будет содержать только те товары, которые поставляет поставщик, указанный в главной форме.
Рисунок 132 – Составная форма Поставщики товаров
|