Създаване на формуляр, съдържащ подформуляр (формуляр "един към много")

Създаване на формуляр, съдържащ подформуляр (формуляр "един към много")

Когато работите с релационни данни (свързани данни, които са записани в отделни таблици), често трябва да показвате данни от множество таблици или заявки в един и същ формуляр. Например може да искате да видите запис за клиент от една таблица и информация за поръчките на клиенти от друга таблица. Подформулярите са удобен инструмент за тази цел и Access предоставя различни начини да ви помогне да ги създавате бързо.

Забележка : Тази статия не се отнася за уеб приложенията на Access – вид база данни, която проектирате с Access и публикувате онлайн.

Какво искате да направите?

Научете за подформулярите

Създаване или добавяне на подформуляр

Създаване на формуляр, съдържащ подформуляр, с помощта на съветника за формуляри

Добавяне на един или повече подформуляри към съществуващ формуляр с помощта на съветника за подформуляри

Създаване на подформуляр с плъзгане на един формуляр в друг

Отваряне на подформуляр в нов прозорец в изглед за проектиране

Промяна на изгледа по подразбиране на подформуляр

Добавяне на свързани данни към формуляр без създаване на подформуляр

Научете за подформулярите

Подформулярът е формуляр, който е вмъкнат в друг формуляр. Първичният формуляр се нарича главен формуляр, а формулярът, който е вграден във формуляра, се нарича подформуляр. Комбинацията формуляр/подформуляр понякога се нарича йерархичен формуляр, формуляр "главен/подробен" или формуляр "родител/наследник".

Подформулярите са особено ефективни, когато искате да покажете данни от таблици или заявки, които са свързани в релация "един към много". Релацията "един към много" е асоциация между две таблици, в които стойността на първичния ключ на всеки запис в първичната таблица отговаря на стойността в съответното поле или полета на множество записи в свързаната таблица. Например можете да създадете формуляр, който показва данни за служител и съдържа подформуляр, който показва поръчките на всеки служител. Данните в таблицата "Служители" са страната "един" на релацията. Данните в таблицата "Поръчки" са страната "много" на релацията – всеки служител може да има повече от една поръчка.

Формуляр, съдържащ подформуляр

1. Главният формуляр показва данни от страната "един" на релацията.

2. Подформулярът показва данни от страната "много" на релацията.

Главният формуляр и подформулярът в този вид формуляр са свързани, така че подформулярът показва само записи, които са свързани с текущия запис в главния формуляр. Например когато главният формуляр показва информация за Вяра Калнъкова, подформулярът показва само нейните поръчки. Ако формулярът и подформулярът не бяха свързани, подформулярът би показал всички поръчки, а не само тези на Вяра.

Следващата таблица дефинира част от терминологията, отнасяща се до подформулярите. Ако използвате процедурите в тази статия, Access ще обработва повечето от подробностите, но е полезно да знаете какво става зад кулисите, ако трябва по-късно да правите модификации.

Израз

Определение

Контрола за подформуляр

Контролата, която вгражда формуляр във формуляр. Можете да мислите за контролата на подформуляра като "изглед" на друг обект във вашата база данни, независимо дали е друг формуляр, таблица, или заявка. Контролата за подформуляра предоставя свойства, които ви позволяват да свържете данните, показани в контролата, с данните в главния формуляр.

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

Свойството на контролата за подформуляра, което определя какъв обект се показва в контролата.

Лист с данни

Просто показване на данни в редове и колони, подобно на електронна таблица. Контролата за подформуляра показва лист с данни, когато обектът източник е таблица или заявка или когато обектът източник е формуляр, чието свойство "Изглед по подразбиране" е настроено на "Лист с данни". В тези случаи подформулярът понякога се нарича лист с данни или подлист с данни вместо подформуляр.

Свойство "Подчинени полета на връзката"

Свойството на контролата за подформуляра, което задава кои полета в подформуляра го свързват с главния формуляр.

Свойство "Основни полета на връзката"

Свойството на контролата за подформуляра, което задава кои полета в главния формуляр го свързват с подформуляра.

Забележки : 

  • За да получите най-добри резултати, установете релациите на таблиците, преди да изпълните процедурите от тази статия. Това позволява на Access да създаде автоматично връзките между подформулярите и главните формуляри. За да прегледате, добавите или модифицирате релации между таблиците във вашата база данни, в раздела Инструменти за бази данни, в групата Показване/скриване щракнете върху Релации.

  • Когато контрола за подформуляр има формуляр като обект източник, тя съдържа полетата, които поставите във формуляра, и може да бъде разглеждана като единичен формуляр, непрекъснат формуляр или лист с данни. Едно предимство на базирането на подформуляр върху формуляр е това, че можете да добавите изчисляеми полета към подформуляра, например [Количество] * [Единична цена].

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

Най-горе на страницата

Създаване или добавяне на подформуляр

Използвайте следната таблица, за да определите коя процедура е по-подходяща за вашата ситуация.

Сценарий

Препоръчителна процедура

Искате Access до създаде главен формуляр и подформуляр и да свърже подформуляра към главния формуляр.

Създаване на формуляр, съдържащ подформуляр, с помощта на съветника за формуляри

Искате да използвате съществуващ формуляр като главен формуляр, но искате Access да създаде нов подформуляр и да го добави към главния формуляр.

Добавете един или повече подформуляри към съществуващ формуляр с помощта на съветника за подформуляри

Искате да използвате съществуващ формуляр като главен формуляр и да добавите един или повече съществуващи формуляри към този формуляр като подформуляри.

Създаване на подформуляр с плъзгане на един формуляр в друг

Създаване на формуляр, съдържащ подформуляр, с помощта на съветника за формуляри

Тази процедура създава нова комбинация от формуляр и подформуляр с помощта на съветника за формуляри. Това е и най-бързият начин да започнете, ако още не сте създали формуляри, които искате да използвате като главен формуляр или подформуляр.

  1. В раздела Създаване, в групата Формуляри щракнете върху Съветник за формуляри. Обърнете внимание, че ако използвате Access 2007, трябва да щракнете върху Създаване > Още формуляри (в групата Формуляри) > Съветник за формуляри.

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

    Забележка : Няма значение коя таблица или заявка ще изберете първо..

  3. Щракнете двукратно върху полетата от тази таблица или заявка, която искате да включите.

  4. На същата страница на съветника, в падащия списък Таблици/Заявки избере друга таблица или заявка от списъка. За този пример ще изберем таблицата "Поръчки" (страната "много" в релацията "един към много").

  5. Щракнете двукратно върху полетата от тази таблица или заявка, която искате да включите.

  6. Когато щракнете върху Напред, след като сте настроили правилно релациите, преди да стартирате съветника, съветникът пита Как искате да се показват вашите данни? – т.е. от коя таблица или заявка. Изберете таблицата в страната "един" в релацията "един към много". В този пример, за да създадем формуляра "Служители", ще щракнем върху По служители. Съветникът показва малка диаграма на формуляр. Страницата трябва да прилича на следващата илюстрация:

    Страницата за подформуляри в съветника за формуляри

    Полето в долната част на диаграмата на формуляра показва подформуляра.

    Забележка : Ако съветникът не попита Как искате да се показват вашите данни?, значи Access не е открил релация "един към много" в таблиците или заявките, които сте избрали. Съветникът ще продължи, но Access няма да добави подформуляр към формуляра. Може да искате да щракнете върху Отказ и да прегледате релациите на таблиците, преди да продължите.

  7. В дъното на страницата на съветника изберете Формуляр с подформуляри и след това щракнете върху Напред.

  8. В страницата Какво оформление искате за вашия подформуляр? щракнете върху желаната опция за оформление и след това щракнете върху Напред. И двете оформления подреждат данните във подформуляра в редове и колони, но табличното оформление е по-приспособимо. Към табличния подформуляр можете да добавите цвят, графика и други елементи на форматиране, докато листът с данни е по-компактен, подобно на таблица в изглед на лист с данни.

  9. На следващата страница на съветника изберете стил на форматиране за формуляра и след това щракнете върху Напред. Ако сте избрали Таблична на предишната страница, стилът на форматиране, който изберете, ще се прилага също към подформуляра.

  10. В последната страница на съветника въведете заглавията, които искате да дадете на формулярите. Access наименува формулярите въз основа на заглавията, които въведете, и поставя етикет на подформуляра въз основа на заглавието, което въведете за подформуляра.

  11. Задайте дали искате да отворите формуляра в изглед за формуляр, за да можете да преглеждате или въвеждате информация, или в изглед за проектиране, за да можете да модифицирате неговия проект, и след това щракнете върху Готово.

    Access създава два формуляра – един за главния формуляр, съдържащ контролата на подформуляра, и един за самия подформуляр.

Най-горе на страницата

Добавяне на един или повече подформуляри към съществуващ формуляр с помощта на съветника за подформуляри

Използвайте тази процедура, за да добавите един или повече подформуляри към съществуващ формуляр. За всеки подформуляр можете да изберете дали да накарате Access да създаде нов формуляр или да използвате съществуващ формуляр като подформуляр.

  1. Щракнете с десния бутон върху съществуващия формуляр в навигационния екран и след това щракнете върху Режим на проектиране.

  2. В раздела Структура, в групата Контроли щракнете върху стрелката надолу, за да покажете галерията Контроли, и се убедете, че е избрано Използване на съветници за контроли.

  3. В раздела Структура, в групата Контроли щракнете върху бутона Подформуляр/Подотчет.

  4. Щракнете върху формуляра, където искате да поместите подформуляра.

  5. Следвайте инструкциите в съветника.

    Когато щракнете върху Готово, Access добавя контрола на подформуляр към вашия формуляр. Ако сте избрали Access да създаде нов формуляр за подформуляра, вместо да използва съществуващ формуляр, Access създава новия обект формуляр и го добавя към навигационния екран.

Създаване на подформуляр с плъзгане на един формуляр в друг

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

  1. В навигационния екран щракнете с десния бутон върху формуляра, който искате да използвате като главен формуляр, и след това щракнете върху Режим на оформление.

  2. Плъзнете формуляра, който искате да използвате като подформуляр, от навигационния екран в главния формуляр.

    Access добавя контрола на подформуляр в главния формуляр и обвързва контролата с формуляра, който сте плъзнали от навигационния екран. Access се опитва също да свърже подформуляра с главния формуляр на базата на релациите, които са дефинирани във вашата база данни.

  3. Повторете тази стъпка, за да добавите всички допълнителни подформуляри към главния формуляр.

  4. За да проверите дали свързването е успешно, в раздела Начало, в групата Изгледи щракнете върху Изглед, щракнете върху Изглед за формуляр и след това използвайте селектора на записи на главния формуляр, за се придвижвате през няколко записа. Ако подформулярът филтрира себе си правилно за всеки служител, процедурата завършва.

Ако предишният тест не работи, Access не може да определи как да свърже подформуляра с главния формуляр и свойствата Подчинени полета на връзката и Главни полета на връзката на контролата на подформуляра са празни. Трябва да зададете тези свойства ръчно, като направите следното:

  1. Щракнете с десния бутон върху главния формуляр в навигационния екран и след това щракнете върху Режим на проектиране.

  2. Щракнете веднъж върху контролата на подформуляра, за да я изберете.

  3. Ако прозорецът на задачите "Списък със свойства" не е показан, натиснете F4, за да се покаже.

  4. В списъка със свойства щракнете върху раздела Данни.

  5. Щракнете върху бутона Компилация Бутон "Конструктор" до полето на свойството Подчинени полета на връзката.

    Появява се диалоговият прозорец Свързване на полета на подформуляр.

  6. В падащите списъци Основни полета и Дъщерни полета изберете полетата, с които искате да свържете формулярите, и след това щракнете върху OK. Ако не сте сигурни кои полета да използвате, щракнете върху Предложения, за да накарате Access да се опита да определи полетата за свързване.

    Съвет : Ако не виждате полето, което искате да използвате за свързване на формулярите, може да се наложи да редактирате записа източник на главния или подчинения формуляр, за да сте сигурни, че свързващото поле е в него. Ако например формулярът е базиран на заявка, трябва да се убедите, че свързващото поле присъства в резултатите от заявката..

  7. Запишете главния формуляр, превключете към изглед за формуляри и след това проверете дали формулярът работи както се очаква.

Отваряне на подформуляр в нов прозорец в изглед за проектиране

Ако искате да правите промени в проекта на подформуляр, докато работите върху съответния му главен формуляр в изглед за проектиране, можете да отворите подформуляра в собствения му прозорец:

  1. Щракнете върху подформуляра, за да го изберете.

  2. В раздела Структура, в групата Инструменти щракнете върху Подформуляр в нов прозорец.

Най-горе на страницата

Променяне на изгледа по подразбиране на подформуляр

Когато добавите подформуляр към формуляр, контролата на подформуляра/подотчета показва подформуляра според свойството Изглед по подразбиране на подформуляра. Това свойство може да се настрои на следните стойности:

  • Единичен формуляр

  • Непрекъснати формуляри

  • Лист с данни

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

Когато създадете първоначално един подформуляр, това свойство може да бъде настроено на Непрекъснати формуляри или може би на Единичен формуляр. Ако обаче настроите свойството Изглед по подразбиране на даден подформуляр на Лист с данни, подформулярът ще се покаже като лист с данни в главния формуляр.

За да зададете свойството Изглед по подразбиране на подформуляр:

  1. Затворете отворените обекти.

  2. В навигационния екран щракнете с десния бутон върху подформуляра и след това върху Изглед за проектиране.

  3. Ако списъкът със свойства още не е показан, натиснете F4, за да го покажете.

  4. В падащия списък в горния край на списъка със свойства се уверете, че Формуляр е избран.

  5. В раздела Формат на списъка със свойства настройте свойството Изглед по подразбиране на изгледа, който искате да използвате.

    Забележка :  Ако изгледът, който искате да използвате, не е в списъка, уверете се, че свойството "Позволяване...Изглед" за изгледа е настроено на Да. Ако например искате да зададете Лист с данни като изглед по подразбиране за формуляра, уверете се, че свойството Разреши изглед на лист с данни е настроено на Да.

  6. Запишете и затворете подформуляра и след това отворете главния формуляр, за да проверите резултатите.

Най-горе на страницата

Добавяне на свързани данни към формуляр без създаване на подформуляр

Не винаги е необходимо да създавате отделен обект формуляр, за да показвате свързани данни. Ако например работите във формуляр в изглед на оформление или в изглед за проектиране, и плъзнете таблица или заявка от навигационния екран във формуляра, Access създава контрола "подформуляр/подотчет", която показва данните в този обект. Свойството Изглед по подразбиране на обекта определя как се показват данните. Обикновено то е настроено на изглед на лист с данни, но вие можете също да настроите свойството Изглед по подразбиране на таблица или заявка на Единичен формуляр, Разделен формуляр или Непрекъснати формуляри, което ви дава по-голяма гъвкавост при показването на свързани данни във формуляри.

Забележка :  Променянето на свойството Изглед по подразбиране за таблица или заявка определя как те ще се показват винаги, когато се отворят, дали ще ги отваряте от навигационния екран или ще ги показвате в контрола за подформуляр/подотчет. Тъй като променянето на настройките на изгледа за таблица могат понякога да причинят объркване, когато отваряте таблицата от навигационния екран, препоръчваме ви да използвате за тази процедура заявка вместо да таблица.

Най-горе на страницата

Разширете уменията си
Преглед на обучението
Получавайте първи новите функции
Присъединете се към участниците в Office Insider

Беше ли полезна тази информация?

Благодарим ви за обратната връзка!

Благодарим ви за вашата обратна връзка. Изглежда, че ще бъде полезно да ви свържем с един от нашите агенти по поддръжката на Office.

×