В виде кнопок на панели элементов размещаются лишь встроенные элементы управления. В отличие от внедряемых объектов (объектов приложений Microsoft Office) и элементов управления ActiveX (например, Календарь), которые могут быть добавлены в приложение.
Элементы управления, в зависимости от способа заполнения их данными можно разделить на три вида: присоединенные, свободные и вычисляемые. Присоединенные элементы управления связаны с полями базовой таблицы. Свободные элементы управления не связаны с таблицами. Они предназначены либо для ввода информации, которая используется не для непосредственного редактирования данных в источнике, а в других целях (например, макросами или программами VBA), либо для отображения объектов OLE, которые хранятся в самих формах. Свободными элементами являются также все элементы, не связанные с какими-либо данными, а предназначенные лишь для улучшения визуального восприятия форм. Вычисляемые элементы управления – это элементы значения которых вычисляются на основе значений других элементов.
II. Создание многотабличных форм
К многотабличным формам относят формы, построенные на основе запроса, объединяющего несколько таблиц, а также формы с внедренными в них другими формами.
Подчиненной формой называется форма, которая встраивается в другую форму. Форма, которая включает подчиненную форму называется основной (или главной).
Такие формы могут применяться для отображения данных из связанных таблиц. Также главная форма может содержать свободные элементы управления и различные кнопки, которые влияют на представление данных в подчиненной форме. Типичным примером такой формы является форма для отбора записей в таблице.
Применение встроенных подчиненных форм обеспечивает более компактное представление на экране данных из нескольких таблиц, чем использование разных форм для каждой таблицы.
Самые простые формы для связанных таблиц можно построить с помощью Мастера автоформ. Он найдет все таблицы, которые связаны с главной отношением «один-ко-многим», и создаст для некоторых из них подчиненные формы. Правда не всегда результат будет тот, что планировался.
При использовании Мастера автоформ вначале целесообразно посмотреть как связаны таблицы в окне Схема данных. Затем в окне Базы данных выделим главную таблицу и выберем команду Новый объект - Автоформа на панели инструментов.
В результате будет создана не только главная форма но и подчиненная.
Чтобы открыть вторую подчиненную форму (список подчиненных записей следующего уровня), достаточно щелкнуть мышью по квадратику с крестом слева от выбранной записи в подчиненной форме. Максимальное количество уровней вложенности –7. Такое иерархическое представление данных можно использовать не только для отображения данных, но и для их ввода и редактирования.
Составную форму с подчиненными формами можно создать также с помощью Мастера форм.
1. Вызовем Мастер форм, выбрав в поле со списком таблицу для главной формы.
2. В первом диалоговом окне Мастера форм в списке Доступные поля выберем те поля, которые нужно включить в главную форму. Затем в этом же окне в поле со списком Таблицы и запросы выберем таблицы или запросы для подчиненных форм, для них выберем нужные поля.
3. .В следующем окне определяется главная форма и устанавливается переключатель Подчиненные формы / Связанные формы.
4. В остальных диалоговых окнах нужно выбрать вид подчиненной формы (ленточный или табличный), стиль и задать имена для главной и подчиненной форм.
При создании формы и подчиненной формы, основанных на таблицах, связанных отношением «один-ко-многим», главная форма представляет сторону «один» отношения, а подчиненная форма представляет сторону «многие». Главная форма синхронизируется с подчиненной формой таким образом, что в подчиненной форме выводятся только записи, связанные с записью в главной форме. Если подчиненная форма создается с помощью мастера или путем перетаскивания формы, таблицы или запроса из окна базы данных в другую форму, Microsoft Access автоматически синхронизирует главную форму с подчиненной формой при соблюдении двух следующих условий.
· Определены отношения для выбранных таблиц или для базовых таблиц выбранных запросов.
· Главная форма основана на таблице с первичным ключом, а подчиненная форма основана на таблице, содержащей поле с таким же именем, как и у этого первичного ключа, и с таким же или совместимым типом данных. Например, если первичный ключ базовой таблицы главной формы имеет тип данных «Счетчик», а его свойство Размер поля (FieldSize) имеет значение Длинное целое, то соответствующее поле в базовой таблице подчиненной формы должно иметь тип данных «Числовой» со свойством Размер поля (FieldSize), имеющим значение Длинное целое. При выборе запроса или запросов базовые таблицы этих запросов должны соответствовать тем же условиям.
Примечание. Для связывания главной и подчиненной форм Microsoft Access использует свойства подчиненной формы Основные поля (LinkMasterFields) и Подчиненные поля (LinkChildFields). Если по каким-либо причинам Microsoft Access не связывает форму и подчиненную форму, пользователь может связать формы самостоятельно.
Если главная форма и подчиненная форма не удовлетворяют выше указанным условиям то их можно связать следующим образом.
1. Откройте главную форму в режиме конструктора формы.
2. Убедитесь, что элемент управления подчиненной формы выделен, и нажмите кнопку Свойства на панели инструментов, чтобы открыть окно свойств элемента управления подчиненной формы.
3. Введите связываемые поля или элементы управления в ячейки свойств Подчиненные поля (LinkChildFields) и Основные поля (LinkMasterFields). Чтобы ввести несколько связываемых полей или элементов управления, разделите их имена точкой с запятой. Если указываются несколько полей или элементов управления, их имена должны вводиться в обоих свойствах в одинаковом порядке.
o В ячейке свойства Подчиненные поля (LinkChildFields) введите имена всех связываемых полей подчиненной формы. (В этом свойстве нельзя указывать имя элемента управления.)
o В ячейку свойства Основные поля (LinkMasterFields) введите имена всех связываемых полей или элементов управления основной формы.
Если вы не знаете, в каком свойстве нужно указывать то или иное связываемое поле или элемент управления, нажмите кнопку построителя рядом с ячейкой свойства, чтобы открыть построитель связей с полями подчиненной формы/отчета.
4. Переключитесь в режим формы, чтобы проверить действие связи.