Многотабличная форма access как сделать

II. Создание многотабличных форм

Дата добавления: 2015-07-04 ; просмотров: 1956 ; Нарушение авторских прав

Access (конспекты лекций)

Создание составных форм

I. Встроенные элементы управления

В виде кнопок на панели элементов размещаются лишь встроенные элементы управления. В отличие от внедряемых объектов (объектов приложений 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. Переключитесь в режим формы, чтобы проверить действие связи.

Многотабличные базы данных

Особенности многотабличных баз данных

Довольно часто случается ситуация, при которой хранить целиком базу данных в одной таблице очень не удобно и не практично. В таблице может содержаться большое количество полей, что является неудобным для пользователя. При этом записи во многих полях могут повторяться, что приводит к увеличению информационного объема БД и замедлению процедуры ее обработки. При хранении в БД слишком большого количества данных и при наличии в таблице большого количества полей ее требуется нормализовать. Как правило, в процессе нормализации образуется многотабличная БД.

БД считается нормализованной в случае выполнения следующих условий:

  • каждая таблица должна иметь главный ключ;
  • все поля каждой таблицы целиком зависят только от главного ключа;
  • в таблице должны отсутствовать группы повторяющихся значений.

По завершению создания таблиц с данными, которые относятся к различным аспектам БД, требуется обеспечить целостность самой базы данных. Для этого нужно связать таблицы между собой.

Читать еще:  Как сделать формулу в access 2013?

Попробуй обратиться за помощью к преподавателям

Различают связи нескольких типов:

  • один-к-одному, когда каждой записи в 1 таблице соответствует лишь 1 запись в другой таблице;
  • один-ко-многим, когда каждой записи главной таблицы соответствуют несколько записей подчиненной таблицы;
  • многие-ко-многим, когда 1 записи первой таблицы соответствуют несколько записей второй таблицы и, наоборот.

Связанные между собой таблицы являются единой базой данных, в которой возможно создание новых таблиц, а также запросов и отчетов. Заполнять базу данных можно с помощью формы. Рассмотрим это на примере. Допустим в табличной базе данных «Комплектующие компьютера и поставщики» содержится информация о различных комплектующих, кроме того, она имеет поля Счетчик, Наименование, Описание, Название фирмы, Адрес, Цена (в рублях) — табл. 1.

Задай вопрос специалистам и получи
ответ уже через 15 минут!

Как видно, половина объема таблицы занята избыточной, дублированной информацией.

Разберемся с причиной дублирования. У комплектующих компьютера имеется 2 неотъемлемых свойства: наименование и описание. В свою очередь, название фирмы, ее адрес и цена компьютера не будут являться свойствами комплектующих, это свойства поставщика.

Правильнее будет разбить искомую таблицу на 2: Комплектующие (табл. 2) и Поставщики (табл. 3). При этом каждая таблица должна иметь хотя бы 1 ключевое поле, значение которого является уникальным для каждой записи данной таблицы. В таблицу Комплектующие вводим поле Код комплектующих, которое будет ключевым.

В таблицу Поставщики вводим дополнительное поле Код поставщика, которое станет ключевым для данной таблицы.

Эти 2 таблицы, которые находятся в отношении многие-ко-многим, связываются друг с другом только с помощью третьей таблицы. Таблицы Комплектующие и Поставщики связываются отношением многие-ко-многим, используя создание 2 связей один-ко-многим относительно к таблице Цена.

Таблицы Комплектующие и Поставщики станут главными относительно таблицы Цена. Связью между таблицами установятся отношения между идентичными значениями в полях, имеющих одинаковые имена. С ключевым полем главной таблицы (первичный ключ) будет связано поле с таким же именем подчиненной таблицы (внешний ключ).

Главная таблица Комплектующие содержит поле Код комплектующих, являющееся первичным ключом, соответственно в подчиненной таблице Цена будет иметься поле с таким же именем, которое будет являться внешним ключом. Таблица Поставщики будет являться главной относительно таблицы Цена. Ее поле Код поставщика — первичный ключ, соответственно в подчиненной таблице Цена будет присутствовать поле с таким же именем, являющееся внешним ключом.

Отсюда следует, что таблица Цена будет содержать поля (табл. 4):

  • Счетчик, являющееся ключевым;
  • Код комплектующих, являющееся внешним ключом для таблицы Комплектующие;
  • Код поставщика, являющееся внешним ключом для таблицы Поставщики;
  • Цена, являющееся числовым.

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

Создание многотабличной формы

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

Многотабличную форму можно создать в режиме Конструктора или при помощи Мастера форм. Однако в Access, как правило, используется изначальное создание форм при помощи мастера, и затем они могут дорабатываться в режиме Конструктора. В ходе создания многотабличной формы в Мастере форм приложением Access создается для нее базовая инструкция SQL, содержащая сведения об используемых таблицах и полях.

Перечислим способы, создающие многотабличные формы при помо-щи Мастера:

  1. Явное включение подчиненной формы, при котором подчиненная форма будет строиться на основе подчиненной таблицы относительно таблицы, на основе которой построена основная часть формы.
  2. Вызов связанной формы по кнопке. Созданные при помощи Мастера связанные подчиненные формы не обязательно должны включаться непосредственно в основную форму, их можно вызывать по необходимости нажатием на включенную в нее кнопку. В этом случае открывающееся содержимое связанной формы будет синхронизироваться с текущей записью формы. Данный способ построения является удобным для сложных многотабличных форм, которые перегружены большим числом элементов управления, а также для пользователя, которому не нужно постоянно видеть связанные данные.
  3. Без использования подчиненных и связанных форм. Подобную многотабличную форму создают при необходимости отображения записей подчиненной таблицы, которые дополнены полями из одной или не-скольких главных таблиц. В данном случае источником данных, выводящихся в форму, будет являться запись подчиненной таблицы. При этом форма отобразит поля из записи подчиненной таблицы и поля из единственной связанной с ней записи главной таблицы.
  4. На основе запроса. Для запроса, имеющего уже созданные записи в результате объединения полей связанных записей главной и каждой из подчиненной таблиц, мастер будет строить форму таким же образом, как в случае с заданными исходными таблицами. Благодаря чему будет создана форма, которая обеспечивает однократное отображение данных, поскольку она базируется на исходных нормализованных таблицах.

Полученную при помощи мастера составную форму при необхо-димости можно отредактировать, в том числе дополнить другими включаемыми формами.

Выбор таблиц и полей необходимо производить в следующем порядке:

  1. В окне БД будет выбирается закладка Форма и нажимается клавиша Создать.
  2. В окне Новая форма будет выбираться режим создания Мастер форм, а источником данных основной части формы выбирается таблица или запрос из списка.
  3. В первом диалоговом окне Создание форм последовательно выбираются таблицы, а в них поля, которые будут включаться в форму, после этого требуется нажать кнопку Далее.
  4. Во втором диалоговом окне Создание форм будет выбираться вариант создания многотабличной формы, для этого в рамке необходимо выбрать вид представления данных — выделить таблицу, являющуюся источником основной части формы.

Когда таблица (источник основной части формы) станет главной по отношению к другой таблице формы, то в окне Создание форм выберется 1 из 2 возможных типов подключения подчиненных форм:

  • при непосредственном включении — Подчиненные формы;
  • при включении кнопки, которая вызывает связанную форму, Связанные формы.

Затем выбирается вид подчиненной или связанной формы: Ленточный или Табличный. В диалоговом окне Создание форм будет выбран стиль оформления, определяющий внешний вид надписей и значений полей в форме. В последнем диалоговом окне Создание форм будет завершено создание формы Мастером, т.е. можно будет редактировать заголовки форм и выбирать дальнейшие действия: Открытие формы для просмотра или ввода данных либо Изменение макета формы.

Так и не нашли ответ
на свой вопрос?

Просто напиши с чем тебе
нужна помощь

РАЗРАБОТКА МНОГОТАБЛИЧНОЙ ФОРМЫ;

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

Читать еще:  Как сделать условия отбора в access?

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

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

q Вызов связанной формы по кнопке. Мастер форм позволяет создать связанные формы, которые не включаются непосредственно в форму. При этом вместо подчиненной формы включается лишь кнопка, представляющая связанную форму, по которой ее можно вызвать.

q Многотабличная форма без подчиненных и связанных форм. Составная многотабличная форма, построенная Мастером, может не включать подчиненных и связанных форм. Такая форма создается, если необходимо отображать записи подчиненной таблицы, дополненные полями из одной или нескольких главных таблиц. В этом случае источником данных для записей, выводимых в форме, является запись подчиненной таблицы. Форма отображает поля из записи подчиненной таблицы и поля из единственной связанной с ней записи главной таблицы.

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

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

· для непосредственного включения подчиненной формы надо выбрать Подчиненные формы:

· для включения кнопки, вызывающей связанную форму, надо выбрать Связанные формы.

Далее можно выбрать вид Ленточная или Табличная для подчиненной или связанной формы.

q Если таблица – источник основной части формы является подчиненной по отношению к другой таблице, тоже выбранной для формы, то создаваемая многотабличная форма не будет включать подчиненную форму. Однако эта форма будет содержать поля из главной таблицы. В окне Создание форм автоматически будет установлен тип формы Одиночная форма. Далее предоставляется возможность выбрать вид формы: В один столбец, Ленточный или Табличный.

Далее предоставляется возможность выбрать стиль оформления, который определяет отображение надписей и значений полей в форме. В последнем диалоговом окне Создание форм можно отредактировать заголовки форм. После нажатия кнопки Готово Мастер завершает создание формы. Сохранение форм производится автоматически. После работы Мастера можно произвести нужную доработку формы в режиме Конструктора. При этом можно перемещать, добавлять, удалять поля, менять их свойства, в том числе шрифт и размеры, подпись поля, текст в заголовке формы.

Тема: Создание подчиненных форм в СУБД MS ACCESS

Цель занятия:

— изучение информационной технологии связывания таблиц и создания многотабличных подчиненных форм в СУБД.

Задание 1. Создать таблицы «Сектор» и «Клиенты фирмы» в режиме Конструктор.

Порядок работы

1. Запустите программу СУБД Microsoft Access и откройте свою созданную базу данных. На вкладке Создание в группеТаблицы выберите Конструктор таблиц. Создайте таблицы «Сектор» и «Клиенты фирмы». Свойства полей таблиц приведены соответственно на Рис. 48 и Рис. 49.

Рис. 48. Таблица «Сектор» в режиме Конструктор

Рис. 49. Таблица «Клиенты фирмы» в режиме Конструктор

Примечание. Для задания ключевого поля выделите поле (для таблицы «Сектор» поле Номер сектора) или группу полей (для таблицы «Клиенты фирмы» поля Номер сектора и Номер клиен­та) и в группе Сервис выберите Ключевое поле.

Задание 2. Создать схему данных.

Порядок работы

1. На вкладке Работа с базами данных в группеПоказать или скрыть выберите Схема данных. Далее в группе Связи выберите Отобразить таблицу.Добавление таблиц производится из окна Добавление таблицы. Для размещения таблицы в окне Схема данныхнадо выделить ее и нажать кнопку Добавить. Выделение нескольких таблиц производится при нажатой клавише [Ctrl]. Включив все нужные таблицы в схему данных («Сектор» и «Клиенты фирмы»), закройте окно Добавление таблицы.

2. Для установления связей между парой таблиц в окне Схема данныхнадо выделить уникальное ключевое поле, по которому устанавливается связь («Номер сектора»), и при нажатой кнопке мыши протащить курсор в соответствующее поле подчиненной таблицы.

3. В появившемся окне Изменение связейотметьте галочкой операции «Объединение целостности данных», «Каскадное обновление связанных полей» и «Каскадное удаление связанных полей» (Рис. 50), после чего нажмите кнопку Создать.

Рис. 50. Создание связей между таблицами

4. Конечный вид схемы таблиц приведен на Рис. 51.

Рис. 51. Схема связанных таблиц

Задание 3.Создать многотабличную форму для одновременного ввода данных в две таблицы.

Порядок работы

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

1. Форма создается с помощью Мастера форм (Создание/Формы/Другие формы/ Мастер форм). В окне Создание форм выбираем поля, которые войдут в проектируемый макет формы из основной таблицы «Сектор» (все поля) и затем из подчиненной таблицы «Клиенты фирмы» – все поля, кроме поля Номер сектора (Рис. 52).

Рис. 52. Выбор полей для основной и подчиненной форм

5. Очередное окно мастера отображает макет формы с перечнем полей в основной и в подчиненной части формы. В этом окне выделена таблица «Сектор» как источник записей основной части формы; таблица «Клиенты фирмы» как источник данных подчиненной формы. Для непосредственного включения подчиненной формы выберем вариант «Подчиненные формы» (Рис. 53).

Рис. 53. Макет подчиненной формы

3. В последующих диалоговых окнах мастера выберите внешний вид подчиненной формы – «ленточный» и любой стиль оформления. В последнем окне мастера вводятся имена основной формы («Сектор») и подчиненной формы («Список клиентов – подчиненная форма»), а также дальнейшие действия мастера – Открытие формы для просмотра и ввода данных. В результате будет получена форма, аналогичная изображенной на Рис. 54.

Рис. 54. Двухтабличная форма, созданная Мастером форм

Ключевое поле Номер сектора не входит в подчиненную форму, так как оно присутствует в основной части формы.

4. Доработка формы в режиме Конструктор заключается в изменении надписей и размещении полей как на Рис. 55, а также в создании кнопок для управления формой.

Рис. 55. Доработка формы в режиме Конструктор

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

Активизируем в группе Элементы управления кнопку Использовать мастера, а затем используем элемент «Кнопка». После переноса кнопки курсором мыши в нужное место формы и вычерчивания ее рамки запустится мастер Создание кнопок. В окне мастера нужно выбрать действие, которое выполняется при нажатии кнопки. В группе «Категория» выберем «Переходы по записям», в группе «Действия» выберем «Предыдущая запись». Аналогичные действия выполняются при встраивании кнопок «Следующая запись»и «Закрытие формы».

Читать еще:  Как сделать базу данных microsoft access?

5. Редактирование подчиненной формы сводится к уточнению надписей полей-столбцов, а также размеров полей. Вид двухтабличной формы после редактирования в режиме формыприведен на Рис. 56.

Рис. 56. Отредактированный вид двухтабличной подчиненной формы

Задание 4.Используя двухтабличную форму ввести исходные данные в таблицы «Клиенты фирмы» и «Сектор». Данные для ввода приведены соответственно в таблицах 3 и 4.

Краткая справка. Ввод данных производится из обеих таблиц поочередно. Сначала введите данные в основную форму для сектора 100, затем в подчиненную форму введите данные для всех четырех клиентов этого же сектора 100. Далее аналогично введите данные для сектора 200 в основную и подчиненную формы и т.д.

II. Создание многотабличных форм

Дата добавления: 2015-07-04 ; просмотров: 1957 ; Нарушение авторских прав

Access (конспекты лекций)

Создание составных форм

I. Встроенные элементы управления

В виде кнопок на панели элементов размещаются лишь встроенные элементы управления. В отличие от внедряемых объектов (объектов приложений 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. Переключитесь в режим формы, чтобы проверить действие связи.

Ссылка на основную публикацию
Adblock
detector