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

Читать еще:  Активация мс офис 2020

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

Тема: Создание подчиненных форм в СУБД 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. Двухтабличная форма, созданная Мастером форм

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

Читать еще:  Ключ для офиса 365 лицензионный ключ

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

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

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

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

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

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

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

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

Тема: Сложные (подчиненные) формы Access. Отчеты для многотабличные баз данных Access

Access. Лабораторная работа №8.

1. Запустите Access и откройте базу данных Commerce, созданную в Лабораторной работе 5.

2. Подчиненные формы.

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

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

Создайте новую форму на основе таблицы «Поставщики». Используйте мастер форм, выберите поля Код поставщика, Наименование, Директор, тип формы в один столбец. Назовите «Главная_поставщики».

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

· Объект-источник – это таблица Приход товаров.

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

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

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

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

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

Читать еще:  Как сделать гиперссылку в либре офис

3. Создание отчетов для многотабличных баз данных.

Чтобы иметь доступ к данным таблиц, необходимо использовать запросы. Создайте в режиме конструктора многотабличный запрос с именем ДЛЯ ОТЧЕТА, включающий поля:

· поле Дата из таблицы ПРИХОД ТОВАРОВ;

· поле Наименование из таблицы Товары;

· поле Количество из таблицы ПРИХОД ТОВАРОВ;

· поле Цена из таблицы Товары;

· вычисляемое поле Стоимость — произведение поля Количество и поля Цена;

· поле Наименование из таблицы ПОСТАВЩИКИ.

4. Создание отчетов с использованием мастеров. Редактирование отчетов.

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

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

5. Отчеты – диаграммы.

· Постройте объемную гистограмму зависимости объема поступлений от наименования поставщика.

· Постройте линейный график зависимости объема поступлений от даты.

6. Кнопочная форма. Добавьте в кнопочную форму кнопки для работы с подчиненной формой, и кнопки для работы с многотабличными отчетами.

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

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

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

В этой статье

Сведения о подчиненных формах

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

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

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

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

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

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

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