Semenalidery.com

IT Новости из мира ПК
2 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Создание подчиненной формы в access 2020

Добавление подчиненной формы в главную форму

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

В качестве примера добавим в форму «Поставщики» (Suppliers) подчиненную форму, которая будет содержать список товаров текущего-поставщика (в исходной версии базы данных «Борей» товары поставщика отображаются в отдельной связанной форме при нажатии кнопки Просмотр товаров (Review Products)):

  1. Откройте форму «Поставщики» в режиме Конструктора и отобразите на экране панель элементов, если ее не видно.
  2. При нажатой кнопке Мастера (Control Wizards) перетащите с панели элементов в область данных формы элемент управления Подчиненная форма/отчет (Subform/ Subreport), поместив ее под всеми остальными элементами. Перед этим можно увеличить высоту области данных, но это необязательно, т. к. она увеличится автоматически после вставки нового элемента.
  3. В первом диалоговом окне мастера выберите переключатель Имеющиеся таблицы и запросы (Use existing Tables and Queries) и нажмите кнопку Далее (Next).
  4. Во втором диалоговом окне Мастера подчиненных форм в раскрывающемся списке Таблицы и запросы (Tables/Queries) выберите таблицу «Товары» (Products). В списке Доступные поля (Available Fields) выберите поля для включения в форму (рис. 9.35) и нажмите кнопку Далее (Next).
  5. В третьем диалоговом окне нужно определить поля, по которым связываются главная и подчиненная формы (рис. 9.36). Можно выбрать их из списка или задать самостоятельно. Так как таблицы «Поставщики» (Suppliers) и «Товары» (Products) связаны, в списке отображается нужная связь. Выберите ее и нажмите кнопку Далее (Next).
  6. В последнем диалоговом окне нужно задать имя подчиненной формы. По умолчанию предлагается имя «подчиненная форма Товары» (Products subform). Можно оставить-это имя и нажать кнопку Готово.

Рис. 9.35. Второе диалоговое окно Мастера подчиненных форм

Рис. 9.36. Третье диалоговое окно Мастера подчиненных форм

Результат работы мастера представлен на рис. 9.37.

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

Рис. 9.37. Подчиненная форма «Товары» внутри формы «Поставщики»

Добавление подчиненной формы

Форма может отображать информацию (поля) из нескольких таблиц или запросов. Но для этого необходимо, чтобы между этими объектами существовали отношения .

В Access отношение представляет собой связь между полями с совпадающими именами двух таблиц, которая позволяет установить соответствие между записями этих таблиц. Так, например, можно связать отношением таблицы Типы и Товары, воспользовавшись установленной связью между полями КодТипа.

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

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

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

  1. Откройте базу данных GardenCo, расположенную в рабочей папке.
  2. На панели инструментов Access щелкните на кнопке Схема данных (Relationships), чтобы открыть диалоговое окно Схема данных (Relationships).
  3. Если диалоговое окно Добавление таблицы (Show Table) не отображается, щелкните на кнопке Отобразить таблицу (Show Table)на панели инструментов. В списке таблиц щелкните дважды на Типы и Товары. Закройте диалоговое окно Добавление таблицы (Show Table), чтобы перейти в окно Схема данных (Relationships), которое выглядит следующим образом.

Другие типы отношений

Помимо отношения один-ко-многим, существуют отношения один-к-одному и многие-ко-многим, но они встречаются реже.

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

Отношение многие-ко-многим не реализовано в явном виде в Access и поэтому имитируется через третью таблицу и два отношения один-ко-многим. Например, в базе данных GardenCo имеются таблицы Товары, Заказы и Детали заказа. Таблица Товары содержит по одной записи для каждого товара. Запись таблицы Заказы описывает один заказ, не включая при этом перечня заказанных товаров. Эти данные хранятся в таблице Детали заказа. То есть, одной записи в таблице Заказы соответствует несколько записей в таблице Детали заказа. Очевидно, что между таблицами Заказы и Детали заказа существует отношение один-ко-многим. Но такое же отношение связывает таблицы Товары и Детали заказа. Таблица Детали заказа является связующей в отношении многие-ко-многим между таблицами Товары и Заказы. Проще говоря, один и тот же товар может содержаться в нескольких заказах, а каждый заказ может включать несколько товаров.

Читать еще:  Ключи для офис 365 бесплатно свежие

На схеме данных появится линия, отображающая отношение один-ко-многим между полями КодТипа в обеих таблицах, как показано ниже.

Создание подчиненной формы

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

В Access для этой цели используются так называемые подчиненные формы. Подчиненная форма строится непосредственно на главной форме; в этой паре главная форма соответствует родительской таблице (идет со стороны «один» в связи «один-ко-многим»), подчиненная – дочерней (идет со стороны «многие» в связи «один-ко-многим»). В этом случае одной записи главной формы соответствует несколько записей подчиненной формы.

Создать форму с подчиненной можно несколькими способами. Рассмотрим некоторые из них.

1 способ. Главная и подчиненная формы строятся одновременно, на основе имеющихся таблиц и/или запросов. Возьмем для этой цели связанные таблицы «Отделы» (родительская) и «МоиСотрудники» (дочерняя). Шаги:

1. В окне БД на панели объектов выберите Формы, в меню — Создать и в первом открывшемся окне – Мастер форм, в качестве источника данных (в нижнем поле) – таблицу «Отделы» (рис. 89), нажмите ОК

2. Во втором окне выбираем нужные поля, например, Название Заведующий, Телефон. Далее, в этом же окне, в поле Таблицы и запросы выберите подчиненную таблицу «МоиСотрудники». Затем выберите ее поля, например, ФИО, Должность, Начислено (рис. 90). Нажмите Далее

3. В третьем окне подтвердите вид представления данных и флажок Подчиненные формы. Нажмите Далее.

4. В четвертом окне выберем вид подчиненной формы: Ленточный. Далее.

5. В последующих окнах выберите оформление и название главной формы. Нажмите Готово.

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

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

2 способ.Предполагается, что формы для главной и подчиненной таблиц созданы заранее. Будем использовать ранее созданные формы для таблиц «МоиСотрудники» и «Отделы» (или их копии). Шаги:

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

2. Отключите кнопку Мастера на панели элементов. Нажмите на панели элементов кнопку Подчиненная форма/Отчет . Нарисуйте левой мышью область, куда будет помещена подчиненная форма.

3. Выделите внедренный объект, войдите в его Свойства. На вкладке Данные в списке Объект-источник выберите таблицу «МоиСотрудники». Убедитесь, что связь (ключи Основные поля и Подчиненные поля) идет по полю Отдел. Закройте окно свойств.

4. Отформатируйте полученные объекты, замените надпись «Внедренный» на «Сотрудники».

3 способ. Форма строится аналогично предыдущему, второму способу, но шаг 2 выполняется при включенной (нажатой) кнопке Мастера. Далее двигаемся в соответствии с инструкциями мастера. Для примера можно построить форму, в которой главную роль играет форма «Отделы», а подчиненную – форма «Сотрудники» из БД «Борей» (эту форму нужно предварительно импортировать из этой БД).

4 способ. Самый простой. Предполагается наличие в БД двух готовых форм – будущих главной и подчиненной. Шаги:

1) Открыть главную форму в режиме конструктора. Расширить (мышью) ее область данных.

2) Перетащить мышью подчиненную форму из окна БД и бросить ее на главную в отведенное место.

Попробуйте этот способ с копией формы «Отделы».

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

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

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

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

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

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

Читать еще:  Ключ офис 16

Рис. 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. Доработка формы в режиме Конструктор

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

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

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

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

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

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

Читать еще:  Рассадка сотрудников в офисе

СОЗДАНИЕ СЛОЖНЫХ ФОРМ С ПОМОЩЬЮ МАСТЕРА;

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

ФОРМЫ.

Форма — это объект базы данных, который можно использовать для ввода, изменения или отображения данных из таблицы или запроса.

Для создания форм можно воспользоваться мастером форм

1. На вкладке Создание в группе Формы щелкните Другие формы, а затем в списке щелкните пункт Мастер форм.

2. Следуйте инструкциям на страницах мастера форм.

Создание формы, содержащей подчиненную форму (форма с отношением «один-ко-многим»,Сложная форма)

При работе с реляционными данными (где связанные друг с другом данные хранятся в отдельных таблицах) нередко требуется в одной форме просматривать данные из нескольких таблиц или запросов. Например, может потребоваться просматривать одновременно не только данные клиента, но и информацию о его заказах. Подчиненные формы — это удобное средство для подобных целей, и в Microsoft Office Access 2007 предусмотрено множество способов быстрого создания подчиненных форм.

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

Подчиненные формы особенно удобны для отображения данных из таблиц или запросов, имеющих отношение «один-ко-многим» (Отношение «один-ко-многим». Объединение двух таблиц, в котором значению ключа каждой записи в главной таблице соответствует значение в связанном поле или полях в нескольких записях подчиненной таблицы.). Например, можно создать форму с подчиненной формой для отображения данных из таблиц «Жанры» и «Фильмы». Данные в таблице «Жанры» являются стороной отношения «один». Данные в таблице «Фильмы». являются стороной отношения «многие» — каждый жанр может содержать несколько фильмов. Т.о.

1. В главной форме отображаются данные на стороне отношения «один».

2. В подчиненной форме отображаются данные на стороне отношения «многие».

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

Для достижения наилучшего результата рекомендуется сначала установить все связи. Это позволит Access автоматически создать связи между главными и подчиненными формами

1. На вкладке Создание в группе Формы щелкните Другие формы, а затем в списке щелкните пункт Мастер форм.

Причиной этого может быть то, что Access работает в ограниченном режиме, а на компьютере не установлено ядро Microsoft Jet 4.0 с пакетом обновления 8 (SP8) или более поздним. Ядро Jet 4.0 с пакетом обновления 8 или более поздним необходимо для полноценной работы Access при включенном ограниченном режиме.

Дополнительные сведения об установке обновления службы Jet см. в статье Microsoft Jet 4.0 с пакетом обновления 8 или более поздней версии на веб-узле Office Online.

Дополнительные сведения об изолированном режиме см. в статье Изолированный режим Microsoft Jet Expression Service на веб-узле Office Online.

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

Примечание.Порядок выбора таблиц или запросов не имеет значения.

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

4. На той же странице мастера в раскрывающемся списке Таблицы и запросы выберите другую таблицу или запрос. В данном примере выберите таблицу «тблФильмы» (сторона «многие» отношения «один-ко-многим»).

5. Дважды щелкните поля таблицы или запроса, которые требуется включить в форму(исключая общее ключевое поле в подчиненной таблице.)

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

Рисунок 1. Пример Сложной формы

7. Установите переключатель в нижней части страницы мастера в положение Подчиненные формы и нажмите кнопку Далее.

8. В последующих окнах выбирать нужные варианты представления.

Будет создано две формы в одной: одна для главной формы, содержащей элемент управления подчиненной формы, а другая — для самой подчиненной формы.

ДОРАБОТКА ФОРМ В РЕЖИМЕ КОНСТРУКТОРА

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

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