Как сделать подчиненную форму в access
Добавление подчиненной формы в главную форму
Подчиненная форма является элементом управления и, как и все остальные элементы, может быть добавлена в главную форму с помощью Мастера подчиненных форм. При этом ее можно создать заранее, и тогда мастеру нужно будет только указать имя добавляемой формы. Если подчиненная форма еще не создана, мастер поможет ее создать.
В качестве примера добавим в форму “Поставщики” (Suppliers) подчиненную форму, которая будет содержать список товаров текущего-поставщика (в исходной версии базы данных “Борей” товары поставщика отображаются в отдельной связанной форме при нажатии кнопки Просмотр товаров (Review Products)):
- Откройте форму “Поставщики” в режиме Конструктора и отобразите на экране панель элементов, если ее не видно.
- При нажатой кнопке Мастера (Control Wizards) перетащите с панели элементов в область данных формы элемент управления Подчиненная форма/отчет (Subform/ Subreport), поместив ее под всеми остальными элементами. Перед этим можно увеличить высоту области данных, но это необязательно, т. к. она увеличится автоматически после вставки нового элемента.
- В первом диалоговом окне мастера выберите переключатель Имеющиеся таблицы и запросы (Use existing Tables and Queries) и нажмите кнопку Далее (Next).
- Во втором диалоговом окне Мастера подчиненных форм в раскрывающемся списке Таблицы и запросы (Tables/Queries) выберите таблицу “Товары” (Products). В списке Доступные поля (Available Fields) выберите поля для включения в форму (рис. 9.35) и нажмите кнопку Далее (Next).
- В третьем диалоговом окне нужно определить поля, по которым связываются главная и подчиненная формы (рис. 9.36). Можно выбрать их из списка или задать самостоятельно. Так как таблицы “Поставщики” (Suppliers) и “Товары” (Products) связаны, в списке отображается нужная связь. Выберите ее и нажмите кнопку Далее (Next).
- В последнем диалоговом окне нужно задать имя подчиненной формы. По умолчанию предлагается имя “подчиненная форма Товары” (Products subform). Можно оставить-это имя и нажать кнопку Готово.
Рис. 9.35. Второе диалоговое окно Мастера подчиненных форм
Рис. 9.36. Третье диалоговое окно Мастера подчиненных форм
Результат работы мастера представлен на рис. 9.37.
Мастер подчиненных форм удобен тогда, когда подчиненная форма еще не создана. Если подчиненная форма уже существует, можно просто разместить рядом окно базы данных с раскрытой страницей Формы (Forms) и главную форму, открытую в режиме Конструктора и просто перетащить мышью нужную форму из окна базы данных в главную форму. При этом главная становится подчиненной формой и автоматически устанавливается связь между формами.
Рис. 9.37. Подчиненная форма “Товары” внутри формы “Поставщики”
Создание подчиненной формы в БД Access 2003
Создание подчиненной формы в БД Access 2003
В процессе создания приложения СУБД Access или базы данных решаются две основные проблемы: первая – создание структуры БД (таблиц и связей между ними), вторая – организация интерфейса пользователя для работы с БД. Основным средством организации интерфейса пользователя в приложениях СУБД Access являются формы, которые могут быть использованы для ввода, редактирования, вывода данных и других целей.
Если в одной форме требуется просматривать данные из нескольких таблиц или запросов, то для этой цели необходимо применить подчиненные формы. Подчиненная форма – это форма, вставленная в другую форму. Например, подчиненную форму можно использовать при просмотре информации о студентах факультета в группах на примере базы данных Training_students_VP.
Подчиненные формы целесообразно создавать для отображения данных из таблиц, имеющих отношение «один-ко-многим». На примере базы данных Training_students_VP рассмотрим технологию создания подчиненной формы, которая имеет две таблицы «Группы студентов» и «Студенты» связанные отношением «один-ко-многим» (Рис.1)
Если в окне базы данных Training_students_VP открыть таблицу “Группы студентов”, то можно увидеть, что рядом с каждой записью таблицы помещен знак «+» (Рис. 2).
то означает, что у этой таблицы появилась подтаблица. Если щелкнуть на знаке «+», например, перед второй записью, то отобразится таблица “Студенты” и мы увидим, что в группе БФ-16б числится два студента (Ильин и Иванов). Теперь создадим подчиненную форму, содержащую эти две таблицы. Существует несколько способов создания подчиненных форм. Наиболее простой способ создания подчиненных форм – это создание Автоформы.
Для создания Автоформы необходимо на вкладке Таблицы в окне базы данных выделить таблицу «Группы студентов» и на панели инструментов щелкнуть кнопку «Новый объект: форма». В открывшемся меню надо выбрать команду Автоформа, в результате получим Главную форму «Группы студентов», в которую вставлена подчиненная таблица “Студенты”. Затем сохраним форму как “Группы студентов_ПФ” и закроем ее. Скриншот Главной и подчиненной формы представлен на Рис. 3.
Преобразуем полученную форму. Для этого в режиме конструктора в Главной форме удалим поле КодГруппы, слово “Название” заменим на “Группа” и изменим некоторые размеры формы. После проведенных изменений, автоформа (под имененм Podch_gr_st_a) будет иметь вид, представленный на Рис. 4.
Создать подчиненную форму можно и с помощью Конструктора. Для этого в окне базы данных надо перейти на вкладку формы и щелкнуть на кнопке создать, а в качестве источника данных выбрать таблицу «Студенты» и щелкнуть ОК. В полученную пустую стандартную форму требуется перетащить поля: Фамилия, Имя, Отчество, пол, дата рождения и другие необходимые поля, а затем сохранить и закрыть данную форму.
Аналогично надо создать вторую (главную) форму «Группы студентов». В качестве источника данных выбрать «Группы студентов» и щелкнуть ОК. В полученную форму требуется перетащить поля: Название, Курс и Семестр. Кроме того, в полученной форме предусмотреть место для таблицы «Студенты», а затем сохранить данную форму.
Затем на форму «Группы студентов» открытую в режиме конструктора можно перетащить подчиненную форму «Студенты» из окна базы данных. В результате получим Главную форму «Группы студентов», в которую вставлена подчиненная таблица “Студенты”.
Copyright
© Обучение в интернет, .
Обратная связь
Создать нескольких подчиненных форм в главной
Использование разных подчиненных форм в главной
Друзья, нужна помощь экспертов. Ваяю БД оборудования по заводу. В главной форме отображаются.
Какой метод лучше использовать, если у главной формы много подчиненных форм?
всем привет, вот такой вопрос для тех кто в этом имеет опыт: есть основная форма, на ней.
Несколько подчиненных форм
Здравствуйте! Я совсем чайник, впервые делаю базу с несколькими подчиненными таблицами (точнее.
Серия подчиненных форм
Доброго времени суток. Суть вопроса – есть автоматически сгенерированная форма (обозначим ее.
Списки подчиненных форм
Доброго времени суток Нужна помощь по полям со списками в подчиненных формах Основная форма -.
Вячеслав Я, простите, я наоборот не хотел плодить темы с таким простым вопросом. Но по существу Вашего ответа- мне нужна динамическая фильтрация с основной формы и далее последовательно первая подчиненная, вторая и третья по определенному полю из предыдущей .
Добавлено через 17 часов 0 минут
Вопрос остался, как сделать 3 подчиненные формы на основной, чтобы работал динамический отбор? Мастером больше двух создать нельзя. Предложенный выше способ вообще не дает эффекта, так как для 3-ей подчиненной формы я не знаю как указать зависимость от 2-ой.
ltv_1953, Мне нужно получить такую форму:
в основной выбирается продукт, в 1-й подчиненной динамически отсеивается страна, во 2-й в зависимости от страны отсеиваются года, а в 3-й в зависимости от года отсеиваются поставщики.
Добавлено через 3 минуты
ltv_1953, Кроме того, такая реализация не позволяет использовать табличную или ленточную форму данных для 1 и 2-й подчиненной формы.
ltv_1953, да база пока в зародыше, те же 4 таблицы, что в Вашем примере, такая же связь у всех. Подчиненность нужна вложенная, как в Вашем примере. Но мне нужно, чтобы 1-ю и 2-ю подчиненные формы можно было представить в режиме таблицы, а это невозможно, так как нельзя представить в табличном виде форму, если она содержит внутри себя вложенную форму. Другими словами, в Вашем примере, в табличном виде можно представить только последнюю, 3-ю вложенную форму, так как у нее нет других подчиненных.
Добавлено через 9 минут
kmv-puh, Абсолютно верно, зависимость именно такая. Но в Вашем примере только 2 подчиненные формы, а с ними проблем нет. Проблема возникает, когда нужно иметь 3 подчиненные формы. Например, в Вашем случае, если бы у спорт-клуба были филиалы, то тогда Вы конечно же начали бы отбор не с ФИО тренера, а с филиала. Логично? Вот у меня такая же проблема.
Источники:
https://www.taurion.ru/access/9/21
https://www.lessons-tva.info/articles/informat/10.html
https://www.cyberforum.ru/ms-access/thread1139238.html