Създаване и използване на подотчети

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

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

Какво представляват подотчетите

Създаване на подотчет

Промени в проектирането на подотчет

Какво представляват подотчетите

Подотчет е отчет, който се вмъква в друг отчет. Когато комбинирате отчети, един от тях трябва да служи като основен отчет, който съдържа другия отчет. Един главен отчет е или обвързан, или необвързан. Обвързан отчет е такъв отчет, който може да показва данни и има таблица, заявка, или SQL команда, зададени в неговото свойство Източник на записи. Необвързан отчет е такъв отчет, който не се базира на таблица, заявка или SQL команда (т.е. свойството Източник на записи на отчета е празно).

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

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

Прекъсване на обвързването на главен отчет с два подотчета, показващи несвързани данни

1. Необвързаният главен отчет съдържа два подотчета.

2. Един подотчет обобщава продажбите по служители.

3. Другият подотчет обобщава продажбите по категории.

Пример на главен отчет и подотчет, които са обвързани с един и същ източник на записи    

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

Главен отчет и подотчет, обвързани към един и същ източник на записи

1. Подотчетът обобщава годишните продажби по тримесечия.

2. Главният отчет показва ежедневните продажби.

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

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

Главен отчет с два подотчета, които показват свързани данни

1. Главният отчет показва името и града за всяко изложение.

2. Подотчетът посочва представителите, които ще присъстват на всяко изложение.

Подформуляри в отчет

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

Ако добавите подформуляр към отчет и след това отворете този отчет в изглед "Отчет", можете да използвате този подформуляр за филтриране и придвижване между записите. Програмният код на Visual Basic for Applications (VBA) и вградените макроси, които са прикачени към формуляра и неговите контроли все още ще се изпълняват, въпреки че някои събития са забранени в този контекст. Не можете да добавяте, редактирате или изтривате записи с помощта на подформуляр в отчет.

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

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

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

  • Можете да дефинирате релации за избрани от вас таблици или да дефинирате релации за таблиците, лежащи в основата на избрани от вас заявки.

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

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

Създаване на подотчет

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

Използване на съветник за създаване на подотчет

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

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

  2. В раздела Проектиране отидете в групата Контроли, отворете галерията Контроли, като щракнете върху стрелката надолу в долния десен ъгъл:

    изображение на лентата

  3. В менюто, което се появява, се уверете, че е избрано Използвай съветници за контроли.

  4. Отворете галерията "Контроли" отново и след това щракнете върху Подформуляр/подотчет.

  5. В отчета щракнете върху мястото, където искате да поместите подотчета.

  6. Ако се покаже диалогов прозорец за съобщение на защитата, щракнете върху Отвори, за да стартирате съветника.

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

    Избор на източник на данни в съветника за подотчети

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

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

    Избиране на полета в съветника за подотчети

    Ако имате намерение да свържете подотчета към главния отчет, не забравяйте да включите полето или полетата, които ще се използват за създаване на връзката, дори ако не искате те да се виждат. Обикновено свързващото поле е ИД поле. В горната илюстрация таблицата "Поръчки" е източника на записи за подотчета, а таблицата "Клиенти" е източникът на записи за главния отчет. Тъй като таблицата "Поръчки" е в релация с таблица "Клиенти" чрез полето "ИД на клиент", това поле се добавя към списъка Избрани полета.

    Забележка: Може да включите полета от няколко таблици и заявки във вашия подотчет. Когато приключите с добавянето на полета от една таблица, изберете следващата таблица или заявка от списъка Таблици/заявки и след това добавете полетата, които искате.

    За да продължите, натиснете Напред.

  9. На тази страница на съветника определяте как да свържете подотчета към главния доклад. Ако Access намери полета, които изглеждат подходящи за свързване на подотчета към главния отчет, съветникът показва списък с възможни предложения за свързване.

    Access предлага полета за свързване в съветника за подотчети

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

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

    Дефиниране на собствени връзки в съветника за подотчети

    Когато е избрана опцията Дефиниране на собствени, съветникът показва два набора от списъци.

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

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

    • Да оставите подформуляр или подотчет несвързани към основния отчета, уверете се, че всички списъци са празни.

      За да продължите, натиснете Напред.

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

    Предоставяне на име в съветника за подотчети

Access добавя контрола на подотчет към вашия отчет и обвързва контролата (т.е. задава на контролата свойството Обект източник) както следва:

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

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

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

Един бърз начин да добавите подотчет в даден отчет е да отворите главния отчет в изглед "Оформление" или в изглед "Проектиране", а след това да плъзнете обект към него от навигационния екран. Ако искате подотчетът да бъде свързан към главния отчет, уверете се, че базовите източници на записи са в релация и че източниците на записи включва полетата, които ще се използват за свързване на подформуляр или подотчет към главния отчет.

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

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

Access прави едно от следните неща:

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

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

    След като приключите със съветника, Access добавя подотчета към отчета.

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

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

  2. Ако списъкът със свойства вече не се вижда, натиснете F4, за да се види.

  3. В раздела Данни на списъка със свойства разгледайте свойствата Основни полета на връзката и Дъщерни полета на връзката.

    • За несвързани подформуляр или подотчет тези две свойства трябва да бъдат празни.

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

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

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

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

    Диалогов прозорец "Свързване на полета на подотчет"

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

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

  3. Запишете главния отчет и преминете към изглед "Отчет", а след това проверете дали отчетът работи както очаквате.

Добавяне на таблица или заявка в отчет като лист с данни

Листът с данни е просто визуално представяне на данни, подобно на електронна таблица. Всяка колона в един лист с данни представлява поле в таблицата или заявката източник, а всеки ред представлява запис. Можете да използвате контрола на подформуляр/подотчет, за да покажете лист с данни в отчет. Това е добър похват за използване в ситуации, където искате компактно показване на данните, но не са ви нужни възможности за форматиране на обект формуляр или отчет. За да добавите лист с данни към отчет:

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

  2. В раздела Проектиране, в групата Контроли отворете галерията Контроли, като щракнете върху стрелката надолу в долния десен ъгъл:

    изображение на лентата

  3. В менюто, което се появява, се уверете, че Използвай съветници за контролине е избрано.

  4. Отворете галерията "Контроли" отново и след това щракнете върху Подформуляр/подотчет.

  5. В отчета щракнете върху мястото, където искате да поместите подотчета.

  6. Ако съветникът за подотчети се стартира, щракнете върху Отказ, за да го затворите.

  7. Ако списъкът със свойства вече не се вижда, натиснете F4, за да се види.

  8. В отчета щракнете върху контролата на подотчета, за да го изберете.

  9. В раздела Данни на листа със свойства, щракнете върху стрелката в полето със свойство Обект източник и след това щракнете върху таблицата или заявката, която искате да покажете в контролата на подотчета. За да покажете таблицата "Поръчки" например, изберете Таблица "Поръчки".

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

  10. В раздела Данни на списъка със свойства разгледайте свойствата Основни полета на връзката и Дъщерни полета на връзката.

    • За несвързан лист с данни се уверете, че и двете свойства са празни.

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

В някои случаи може да се наложи сами да зададете свойствата на полето за връзката. Можете да направите това с помощта на следващата процедура.

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

  2. Ако се покаже диалогов прозорец със съобщение на защитата, щракнете върху Отвори.

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

    Диалогов прозорец "Свързване на полета на подотчет"

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

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

  4. Запишете главния отчет и преминете към изглед "Отчет", а след това проверете дали отчетът работи както очаквате.

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

Промени в проектирането на подотчет

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

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

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

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

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

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

Показване на обща сума от подотчет в главния отчет

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

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

  2. В раздела Проектиране, в групата Контроли щракнете върху Текстово поле.

  3. В главния отчет щракнете върху мястото, където искате да поместите новото текстово поле.

  4. Ако списъкът със свойства вече не се вижда, натиснете F4, за да се види.

  5. В раздела Данни на списъка със свойства, в полето на свойството Източник за контролата въведете следния израз:

    = IIf (IsError ([подотчет поръчки]. [ Отчет]! [Общо такса доставка]), 0, [подотчет поръчки]. [Доклад]! [Общо такса доставка])

    Забележки: 

    • В този случай бихте могли да използвате по-простия израз = [подотчет поръчки]. [ Отчет]! [Общо такса доставка] , но след това, ако подотчетът не съдържа никакви данни, контролата от основния отчет показва #Error. Чрез функцията IsError в рамките на функцията IIf, както е показано в първия израз, се гарантира, че текстовото поле в главния отчет показва нула (0), ако подотчетът не връща никакви данни.

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

  6. В раздела Формат на листа със свойства, задайте подходяща стойност на свойството Формат (в този случай Валута).

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

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

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

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

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

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

×