Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
TipovoyOtchet / Lab3.doc
Скачиваний:
24
Добавлен:
19.03.2015
Размер:
311.3 Кб
Скачать

1.9. Краткая характеристика связанных (подчиненных) форм

Подчиненная форма - это форма, находящаяся внутри другой формы. Первичная форма называется главной формой, а форма внутри формы называется подчиненной формой. Комбинацию «форма/подчиненная форма» часто называют также иерархической формой или комбинацией «родительской» и «дочерней» форм.

Подчиненная форма удобна для вывода данных из таблиц или запросов, связанных с отношением «один-ко-многим». Например, можно создать форму с подчиненной формой для вывода данных из таблицы «Типы» и из таблицы «Товары». Данные в таблице «Типы» находятся на стороне «один» отношения. Данные в таблице «Товары» находятся на стороне «многие» отношения ѕ каждый тип может иметь несколько товаров.

Главная форма и подчиненная форма в этом типе форм связаны таким образом, что в подчиненной форме выводятся только те записи, которые связаны с текущей записью в главной форме. Например, когда главная форма отображает тип «Напитки», подчиненная форма отображает только те товары, которые входят в тип «Напитки».

При использовании формы с подчиненной формой для ввода новых записей текущая запись в главной форме сохраняется при входе в подчиненную форму. Это гарантирует, что записи из таблицы на стороне «многие» будут иметь связанную запись в таблице на стороне «один». Это также автоматически сохраняет каждую запись, добавляемую в подчиненную форму.

Подчиненная форма может быть выведена в режиме таблицы, или она может быть выведена как простая или ленточная форма. Главная форма может быть выведена только как простая форма.

Главная форма может содержать любое число подчиненных форм, если каждая подчиненная форма помещается в главную форму. Имеется также возможность создавать подчиненные формы двух уровней вложенности. Это означает, что можно иметь подчиненную форму внутри главной формы, а другую подчиненную форму внутри этой подчиненной формы. Например, можно иметь главную форму, в которой выводятся данные о клиентах, подчиненную форму, выводящую данные о заказах и другую подчиненную форму, которая отображает то, что заказано.

Если подчиненная форма создается с помощью мастера или путем перемещения формы или таблицы с помощью мыши из окна базы данных в другую форму, главная форма автоматически синхронизируется с подчиненной формой при соблюдении двух следующих условий:

  • Выбранные таблицы связаны отношением, представленным в окне Схема данных. Обычно это отношение «один-ко-многим». При выборе запроса или запросов форма и подчиненная форма автоматически синхронизируются, если этим условиям удовлетворяют базовые таблицы запроса или запросов. Например, запрос, базирующийся на одной таблице, можно использовать для вычисления значения поля. Если эта базовая таблица правильно связана с другой базовой таблицей или запросом, форма и подчиненная форма синхронизируются автоматически.

  • Главная форма базируется на таблице с ключом, а подчиненная форма базируется на таблице, содержащей поле с тем же именем, что и ключевое поле, и с тем же или совместимым типом данных. Например, если ключевое поле главной формы имеет тип «Счетчик», а в свойстве Размер поля задан размер длинное целое, то соответствующее поле в подчиненной форме должно иметь тип Числовой и указанный в свойстве Размер поля размер длинное целое. Если выбран запрос или запросы, то удовлетворять этим условиям должны базовые таблицы для запроса или запросов.

Если главная форма и подчиненная форма не удовлетворяют этим условиям, пользователь имеет возможность связать их самостоятельно следующим образом.

  1. Откройте главную форму в режиме конструктора формы.

  2. Убедитесь в том, что элемент управления подчиненной формы выбран, и нажмите кнопку Свойства на панели инструментов. Появится список свойств для элемента управления подчиненной формы.

  3. Введите в ячейку свойства Подчиненные поля имя связующего поля в подчиненной форме. Если неизвестно, по какому полю следует связывать подчиненную форму, нажмите кнопку построителя для вызова мастера по связыванию полей. Для того чтобы ввести нескольких имен связующих полей, разделяйте имена полей точкой с запятой. Имена полей следует указывать в одном и том же порядке в свойствах Подчиненные поля и Основные поля.

Примечание. В значении свойства Подчиненные поля нельзя использовать имя элемента управления.

  1. Введите в ячейку свойства Основные поля введите имя связующего поля в главной форме. Если неизвестно, по какому полю следует связывать главную форму, нажмите кнопку построителя для вызова мастера по связыванию полей. Для того чтобы ввести нескольких имен связующих полей, разделяйте имена полей точкой с запятой. Имена полей следует указывать в одном и том же порядке в свойствах Подчиненные поля и Основные поля.

Соседние файлы в папке TipovoyOtchet