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


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

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

Примечание: Статья неприменима к веб-приложениям Access — новому типу баз данных, которые создаются в Access и публикуются в Интернете.

В этой статье

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

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

Создание формы, содержащей подчиненную форму, с помощью мастера форм

Добавление одной или нескольких подчиненных форм в существующую форму с помощью мастера подчиненных форм

Создание подчиненной формы путем перетаскивания одной формы в другую

Открытие подчиненной формы в новом окне в конструкторе

Изменение представления по умолчанию для подчиненной формы

Добавление связанных данных в форму без создания подчиненной формы

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

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

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

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

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

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

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

Термин

Определение

Элемент управления подчиненной формы

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

Свойство "Объект-источник"

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

Таблица

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

Свойство "Подчиненные поля"

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

Свойство "Основные поля"

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

Примечания: 

  • Перед тем, как выполнить описанные в этой статье действия, мы рекомендуем настроить связи между таблицами. Это позволит Access автоматически создать связи между основными и подчиненными формами. Чтобы просмотреть, добавить или изменить связи между таблицами в базе данных, на вкладке Работа с базами данных в группе Показать или скрыть нажмите кнопку Схема данных.

  • Когда элемент управления подчиненной формы имеет в качестве объекта-источника форму, он содержит поля, помещенные в нее и его можно просмотреть как одиночную форму, ленточную форму или таблицу. Одним из преимуществ создания подчиненной формы на основе формы является возможность добавления вычисляемых полей в подчиненную форму, например: [Количество] * [Цена].

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

К началу страницы

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

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

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

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

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

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

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

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

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

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

  6. Если до запуска мастера отношения установлены правильно, то после нажатия кнопки Далее появится сообщение Выберите вид представления данных:, т. е. предложение указать таблицу или запрос. Выберите таблицу, представляющую сторону "один" отношения "один-ко-многим". В этом примере для создания формы "Сотрудники" выберите вариант по Сотрудники. В мастере будет показано небольшое изображение формы. Страница должна выглядеть следующим образом:

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

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

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

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

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

  10. На последней странице мастера введите заголовки форм. Имена автоматически присваиваются формам на основе введенных заголовков, а надписи подчиненных форм — на основе введенных заголовков подчиненных форм.

  11. Укажите режим, в котором вы хотите открывать форму: режим формы (чтобы можно было просмотреть или ввести данные) или Конструктор (чтобы можно было изменить ее структуру). Затем нажмите кнопку Готово.

    Access создаст две формы — основную форму, которая содержит подчиненную, и саму подчиненную форму.

К началу страницы

Добавление одной или нескольких подчиненных форм в существующую форму с помощью мастера подчиненных форм

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

  1. В области навигации щелкните существующую форму правой кнопкой мыши и выберите пункт Конструктор.

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

  3. На вкладке Конструктор в группе Элементы управления выберите элемент Подчиненная форма/отчет.

  4. В форме щелкните место, куда нужно поместить подчиненную форму.

  5. Следуйте указаниям мастера.

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

Создание подчиненной формы путем перетаскивания одной формы в другую

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

  1. В области навигации щелкните правой кнопкой мыши форму, которую нужно использовать в качестве основной, и выберите пункт Конструктор.

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

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

  3. Повторите этот шаг, чтобы добавить другие подчиненные формы в основную.

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

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

  1. В области навигации щелкните основную форму правой кнопкой мыши и выберите пункт Конструктор.

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

  3. Если область задач "Окно свойств" не отображается, нажмите клавишу F4.

  4. В окне свойств откройте вкладку Данные.

  5. Нажмите кнопку Построить  справа от поля свойства Подчиненные поля.

    Будет открыто диалоговое окно Связь с полями подчиненной формы.

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

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

  7. Сохраните основную форму и переключитесь в режим формы, а затем проверьте, правильно ли она работает.

Открытие подчиненной формы в новом окне в Конструкторе

Если вы хотите внести изменения в структуру подчиненной формы во время работы над основной формой в Конструкторе, вы можете открыть ее в отдельном окне:

  1. Щелкните подчиненную форму, чтобы выбрать ее.

  2. На вкладке Конструктор в группе Сервис нажмите кнопку Подчиненная форма в новом окне.

К началу страницы

Изменение представления по умолчанию для подчиненной формы

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

  • Простая форма

  • Ленточные формы

  • Таблица

  • Разделенная форма

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

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

  1. Закройте все открытые объекты.

  2. В области навигации щелкните подчиненную форму правой кнопкой мыши и выберите пункт Конструктор.

  3. Если окно свойств не отображается, нажмите клавишу F4.

  4. Убедитесь в том, что в раскрывающемся списке в верхней части окна свойств выбран пункт Форма.

  5. На вкладке Формат окна свойств задайте для свойства Режим по умолчанию нужное значение.

    Примечание:  Если нужный режим отсутствует в списке, убедитесь в том, что для свойства "Режим..." установлено значение Да. Например, если нужно выбрать вариант Режим таблицы, убедитесь, что для свойства Режим таблицы установлено значение Да.

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

К началу страницы

Добавление связанных данных в форму без создания подчиненной формы

Для отображения связанных данных не всегда нужно создавать отдельный объект формы. Например, если при работе с формой в режиме макета или конструктора перетащить таблицу или запрос из области навигации в форму, будет создан элемент управления подчиненной формы или отчета, в котором будут отображаться данные из этого объекта. Свойство объекта Режим по умолчанию определяет способ отображения данных. Обычно для него задано значение "Режим таблицы". Если вы хотите отобразить связанные данные в формах иначе, задайте для свойства Режим по умолчанию таблицы или запроса значение Простая форма, Разделенная форма или Ленточные формы.

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

К началу страницы

support.office.com

Создание подчиненной формы в БД Access 2003

Создание подчиненной формы в БД Access 2003

2010-05-11

Автор: Владимир Ткаченко

Источник: Обучение в интернет

В процессе создания приложения СУБД Access или базы данных решаются две основные проблемы: первая – создание структуры БД (таблиц и связей между ними), вторая – организация интерфейса пользователя для работы с БД. Основным средством организации интерфейса пользователя в приложениях СУБД Access являются формы, которые могут быть использованы для ввода, редактирования, вывода данных и других целей.

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

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

Рис. 1.

Если в окне базы данных Training_students_VP открыть таблицу "Группы студентов", то можно увидеть, что рядом с каждой записью таблицы помещен   знак «+» (Рис. 2).

Рис. 2.

то означает, что у этой таблицы появилась подтаблица. Если щелкнуть на знаке «+», например, перед второй записью, то отобразится таблица "Студенты" и мы увидим, что в группе БФ-16б числится два студента (Ильин и Иванов). Теперь создадим подчиненную форму, содержащую эти две таблицы. Существует несколько способов создания подчиненных форм. Наиболее простой способ создания подчиненных форм – это создание Автоформы.

Для создания Автоформы необходимо на вкладке Таблицы в окне базы данных выделить таблицу «Группы студентов» и на панели инструментов щелкнуть кнопку «Новый объект: форма». В открывшемся меню надо выбрать команду Автоформа, в результате получим Главную форму «Группы студентов», в которую вставлена подчиненная таблица "Студенты". Затем сохраним форму как "Группы студентов_ПФ" и закроем ее. Скриншот Главной и подчиненной формы представлен на Рис. 3.

Рис. 3.

Преобразуем полученную форму. Для этого в режиме конструктора в Главной форме удалим поле КодГруппы, слово "Название" заменим на "Группа" и изменим некоторые размеры формы. После проведенных изменений, автоформа (под имененм Podch_gr_st_a) будет иметь вид, представленный на Рис. 4.

Рис. 4.

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

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

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

www.lessons-tva.info

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

studfiles.net

Формы с подчиненной формой

Замечание 1

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

Пример создания формы

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

Создание макета формы с помощью Мастера форм

Начальный макет формы создадим с помощью Мастера форм, а потом улучшим его с помощью Конструктора.

Создадим форму, выполняя следующие операции с помощью Мастера форм:

  1. В окне базы данных необходимо выбрать вкладку Формы и щелкнуть кнопку Создать.
  2. В окне Новая форма выберем в качестве источника данных в раскрывшемся списке таблиц таблицу Читатели. Затем в другом поле выберем Мастер форм и щелкнем на кнопке ОК.
  3. В появившемся окне Создание форм из списка Доступные поля перенесем в список Выбранные поля следующие поля: NB, Фамилия, Кафедра и Телефон. Далее в раскрывшемся выше списке (список таблиц и запросов) выберем запрос Список1, поля которого появятся в списке Доступные поля, и перенесем в список Выбранные поля все поля запроса.
  4. В следующем окне выбираем тип изображения данных. Необходимо выбрать по Читатели, поскольку главной формой станет форма, отображающая сведения о читателях. Отметим переключатель Подчиненные формы для того, чтобы остальные данные вставить в подчиненную форму, и затем щелкнем на кнопку Далее.
  5. В следующем окне нужно выбрать вид подчиненной формы. Поскольку удобно видеть все данные о читаемых книгах, представленными в виде таблицы, отметим переключатель ленточный и щелкнем на кнопку Далее.
  6. Затем необходимо выбрать стиль главной формы. Стиль отобразится в окне выбора сразу после того, как отметим его в списке. Щелкнем на кнопку Далее.
  7. В следующем окне зададим имена главной и подчиненной форм. Access создал 2 формы, которые связаны друг с другом. Но их можно корректировать, используя режим конструктора, независимо одну от другой, а также использовать подчиненную форму независимо от главной. Назовем главную форму Читатели, а подчиненную – Список1. Щелкнем на кнопку Готово, и на экране отобразится созданная форма.

Редактирование формы с помощью Конструктора форм

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

Далее необходимо выполнить следующие действия:

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

  2. Далее займемся улучшением внешнего вида формы Читатели. Для этого необходимо открыть форму Читатели в режиме конструктора и выполнить следующие действия:

    • растянуть с помощью мыши область Заголовок формы, добавить элемент управления Надпись и ввести текст «Информация о читателях и выданных книгах» (рис. 3). Затем изменить начертание и размер шрифта для улучшения внешнего вида;

    • переместить поля Кафедра и Телефон вправо для освобождения места для подчиненной формы.
    • растянуть подчиненную форму на все свободное пространство.
  3. Откроем форму в режиме просмотра.

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

spravochnick.ru

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

gigabaza.ru

Подчиненная форма - Базы данных: основные понятия

Подчиненная форма

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

Ключевые слова: база данных access; бд access; субд access; базы данных access; access пример; программирование access; готовая база данных; создание база данных; база данных СУБД; access курсовая; база данных пример;  access книги; базы данных книга; курсовая базы данных; самоучитель microsoft access; описание базы данных; подключение базы данных; проектирование базы данных; распределенная база данных; ms access скачать; базы данных проектирование; реализация и сопровождение; создание БД; примеры БД; скачать БД; реляционные БД; базы данных СУБД; курсовая БД; курсовая работа по СУБД; реляционная; с база данных; создание СУБД; скачать базу данных; базой данных; нормализация данных; примеры СУБД; база данных примеры; курсовые работы по СУБД; нормализация; базе данных; структура БД; пример БД; база запросов; учебная база данных; проектирование БД; данных; описание БД; субд реферат; создать БД; база данных по; использование БД; курсовая работа база данных; готовая; использование СУБД; таблица БД; база данных 2003 скачать; базу

access.avorut.ru

Практическая работа № 9. Создание подчиненных форм в субд Microsoft Access

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

Задание 1. Создайте таблицы «Сектор» и «Клиенты предприятия» в режиме Конструктор. Свойства полей таблиц следующие: Таблица «Сектор»: «Номер сектора» (ключевое поле, текстовое, размер 3), «Количество клиентов» (числовое, размер − байт), «Средняя сумма заказов за год» (числовое, размер – одинарное с плавающей точкой) (см. рис. 76).

Рис. 76

Таблица «Клиенты предприятия»− поля «Номер сектора» (ключевое, текстовое, размер 3), «Номер клиента» (ключевое, числовое, размер - целое), «Наименование клиента» (текстовое, размер 20), «Дата заключения договора» (числовое), «Сумма заказов» (числовое, размер – одинарное с плавающей точкой), см. рис. 77. Для задания ключа для двух полей сначала выделите их с помощью клавиши Ctrl.

Рис. 77

  1. Создайте связь между таблицами «Сектор» и «Клиенты предприятия». В диалоговом окне задайте параметры: объединение целостности данных, каскадное обновление связанных полей и каскадное удаление связанных полей. Нажмите кнопку ОК (см. рис. 78).

Рис. 78

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

Рис.79

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

Рис. 80

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

Рис. 81

  1. В последующих диалоговых окнах мастера выберите внешний вид подчиненной формы − ленточный и стиль оформления на ваше усмотрение. В последнем окне мастера вводятся имена основной формы («Сектор») и подчиненной формы («Список клиентов: подчиненная форма), а также дальнейшие действия мастера − Открытие формы для просмотра и ввода данных. Ключевое поле Номер сектора не включено в подчиненную форму, так как оно присутствует в основной части формы (рис. 82).

Рис. 82

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

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

Рис. 83

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

Таблица 7

Номер сектора

Количество клиентов в группе

Средняя сумма заказов за год

100

4

45020

200

3

75250

300

2

96520

400

1

85420

500

2

81520

Таблица 8

Номер сектора

Номер клиента

Наименование клиента

Дата заключения договора

Сумма заказа

100

01

ОАО «Старт»

2006

53200

100

02

ООО « Салют»

2005

28300

100

03

ООО «Прогресс»

2004

47950

100

04

ОАО «Линия»

2002

57640

200

01

ОАО «Барс»

2003

85610

200

02

ООО «Вектор»

2006

75930

200

03

ОАО « Восток»

2005

68410

300

01

ЗАО «Рекс»

1998

45632

300

02

ООО «Подиум»

2003

88760

400

01

ООО «Север»

1999

78653

500

01

ОАО «Юстис»

2004

67543

500

02

ОАО «Мечта»

2006

77940

После ввода данных закройте форму и выберите объекты - таблицы. Откройте таблицу «Сектор». Обратите внимание на ее вид (см. рис. 84). Разверните данные подчиненной таблицы нажатием на кнопку +.

Рис. 84

Создайте отчет по клиентам предприятия согласно рисунку 85:

Рис. 85

studfiles.net