Перейти до основного
Підтримка
Вхід
Вхід за допомогою облікового запису Microsoft
Увійдіть або створіть обліковий запис.
Вітаємо,
Виберіть інший обліковий запис.
У вас є кілька облікових записів
Виберіть обліковий запис, за допомогою якого потрібно ввійти.

Працюючи з реляційними даними (якщо пов'язані дані зберігаються в окремих таблицях), часто потрібно переглядати відомості з кількох таблиць або запитів в одному звіті. Наприклад, ви хочете бачити дані клієнтів, але також хочете бачити інформацію про замовлення клієнта одночасно. Підзвіт – це зручний засіб в Access, оскільки він дає змогу відображати відомості про замовлення у звіті з відомостями про клієнтів логічним і зрозумілим способом. У програмі Access є багато способів швидко створювати підзвіти.

У цій статті

Відомості про підзвіти

Підзвіт – це звіт, який вставлено в інший звіт. Коли ви поєднуєте звіти, один із них виступає головним, а інші – його складовими. Головний звіт може бути зв’язаним або вільним. У зв’язаному звіті можуть відображатися дані, і його властивість Джерело записів містить таблицю, запит або інструкцію SQL. Вільний звіт не ґрунтується на таблиці, запиті або інструкції SQL (тобто його властивість Джерело записів пуста).

Приклад вільного головного звіту з двома непов’язаними підзвітами    

У вільному головному звіті не можуть відображатися його власні дані, але він може слугувати головним для непов’язаних підзвітів, які потрібно поєднати.

.

1. Вільний головний звіт містить два підзвіти.

2. В одному підзвіті зведено обсяги збуту за працівниками.

3. В іншому підзвіті зведено обсяги збуту за категоріями.

Приклад головного звіту й підзвіту, які зв’язано з одним і тим самим джерелом записів    

У головному звіті можна, наприклад, відобразити докладні записи, як-от кожну операцію збуту в році, а в підзвіті – зведені дані, скажімо загальні обсяги збуту за кожен квартал.

Діаграма з областями та об’ємна діаграма з областями

1. У підзвіті підсумовано річні обсяги збуту за кварталами.

2. У головному звіті наведено щоденні обсягу збуту.

Приклад головного звіту й підзвіту, які зв’язано з пов’язаними джерелами записів    

Дані головного звіту можуть бути спільні для одного або кількох підзвітів. У такому разі підзвіт міститиме дані, пов’язані з даними в головному звіті.

Main report with two subreports displaying related data

1. У головному звіті наведено назву всіх виставок і міста їх проведення.

2. У підзвіті зазначено представників, які відвідають виставки.

Підформи у звіті

Головний звіт може містити підформи на додачу до підзвітів, і може містити будь-яку кількість підформ і підзвітів. Крім того, головний звіт може містити до семи рівнів підформ і підзвітів. Наприклад, звіт може містити підзвіт, і цей підзвіт може містити підформу або підзвіт тощо, до семи рівнів.

Якщо додати підформу до звіту, а потім відкрити звіт у поданні звіту, за допомогою підформи можна буде фільтрувати записи та переходити ними. Код Visual Basic for Applications (VBA) і вбудований макрос, які прикріпляються до форми та її елементів керування, і надалі працюватимуть, хоча деякі події будуть неактивні. Підформа у звіті не дає змоги додавати, редагувати та видаляти записи.

Зв’язування звіту з підформою або підзвітом

Коли ви вставляєте підформу або підзвіт, який містить відомості, пов’язані з даними в головному звіті, елемент керування підзвіту потрібно зв’язати з головним звітом. Зв’язування гарантує, що записи, які відображаються у підформі або підзвіті, відповідають записам у головному звіті.

Коли ви створюєте підформу або підзвіт за допомогою майстра або перетягуванням до звіту об’єкта з області переходів, Access автоматично зв’язує підформу або підзвіт із головним звітом, якщо виконується одна з наведених нижче умов.

  • Ви визначаєте зв’язки для вибраних таблиць або для таблиць, на яких ґрунтуються вибрані запити.

  • Головний звіт базується на таблиці з первинний ключ, а підформа або підзвіт базується на таблиці, яка містить поле з таким самим іменем, що й первинний ключ, і має однаковий або сумісний тип даних. Наприклад, якщо первинний ключ таблиці, що лежить в основі головного звіту, – це поле "Лічильник", а для його властивості FieldSize"Довге ціле число", відповідне поле в таблиці, що лежить в основі підформи або підзвіту, має бути числовим полем, а властивість FieldSize має значення "Довге ціле число". Якщо вибрати запит або запити як джерело записів підформи або підзвіту, базові таблиці в запиті або запитах мають відповідати тим самим умовам.

На початок сторінки

Створення підзвіту

Якщо підзвіт зв’язується з головним звітом, перш ніж виконувати наведені нижче дії, переконайтеся, що відповідні джерела записів пов’язано між собою.

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

Ця процедура передбачає, що у вас уже є звіт, до якого потрібно додати підзвіт. Докладні відомості про створення звіту див. в статтях Створення простого звіту або Створення згрупованого або зведеного звіту.

  1. В області переходів клацніть правою кнопкою миші звіт, до якого потрібно додати підзвіт, і виберіть Конструктор.

  2. На вкладці Конструктор у групі Елементи керування відкрийте колекцію елементів керування, клацнувши стрілку вниз у нижньому правому куті.

    Зображення стрічки

  3. У меню, яке з’явиться, переконайтеся, що вибрано параметр Застосувати майстри елементів керування.

  4. Відкрийте колекцію елементів керування ще раз і виберіть Підформа/підзвіт.

  5. Клацніть звіт у місці, де потрібно вставити підзвіт.

  6. Якщо з’явиться діалогове вікно повідомлення системи безпеки, натисніть кнопку Відкрити, щоб запустити майстер.

  7. Якщо потрібно створити підформу або підзвіт на основі таблиці чи запиту, на першій сторінці майстра підпорядкованих звітів виберіть Використовувати наявні таблиці та запити. Якщо у вас уже є звіт або форма, яка має слугувати підзвітом, клацніть Використовувати наявний звіт або форму, виберіть звіт чи форму зі списку й натисніть кнопку Далі.

    Вибір джерела даних у майстрі підпорядкованих звітів

    Примітка.:  Якщо в базі даних немає інших звітів або форм, список буде пустий, а параметр Використовувати наявний звіт або форму – недоступний.

  8. Якщо ви вибрали Використовувати наявний звіт або форму на попередній сторінці майстра, пропустіть цей крок і перейдіть до кроку 9. Інакше зі списку Таблиці та запити виберіть таблицю або запит, що містить поля, які слід включити до підзвіту, а потім двічі клацніть потрібні поля в списку Доступні поля.

    Що нового

    Якщо ви плануєте зв’язати підзвіт із головним звітом, обов’язково включіть одне або кілька полів, за допомогою яких буде створено зв’язок, навіть якщо їх не потрібно відображати. Зазвичай для зв’язування використовується поле ідентифікатора. На знімку екрана вище таблиця "Замовлення" слугує джерелом записів для підзвіту, а таблиця "Клієнти" – джерелом записів для головного звіту. Оскільки таблицю "Замовлення" пов’язано з таблицею "Клієнти" за полем ідентифікатора клієнта, це поле додається до списку Вибрані поля.

    Примітка.: До підзвіту можна додавати поля з кількох таблиць і запитів. Завершивши додавання полів з однієї таблиці, виберіть наступну таблицю або запит зі списку Таблиці та запити, а потім додайте потрібні поля.

    Натисніть кнопку Далі, щоб продовжити.

  9. На цій сторінці майстра можна вказати, як слід зв’язати підзвіт із головним звітом. Якщо Access знаходить поля, придатні для зв’язування підзвіту з головним звітом, майстер відображає список можливих варіантів зв’язування.

    Access suggests fields to link in the Subreport Wizard

    Ви можете вибрати бажаний варіант зв’язування або значення Немає, якщо зв’язувати підзвіт із головним звітом не потрібно. Якщо потрібно зв’язати підзвіт із головним звітом, але жоден із запропонованих варіантів не підходить, виберіть Визначити самостійно.

    Примітка.: Якщо майстер не може знайти придатні для зв’язування поля, список варіантів зв’язування не надається й параметр Визначити самостійно вибирається автоматично.

    відкриття меню "Редагування"

    Якщо вибрано Визначити самостійно, у майстрі відображаються два набори списків.

    • У розділі Поля форми/звіту виберіть одне або кілька полів із головного звіту, за якими його потрібно зв’язати з підформою або підзвітом. Ви можете вибрати щонайбільше три поля, кожне з яких має збігатися з пов’язаним полем у джерелі даних підформи або підзвіту.

    • У розділі Поля підформи/підзвіту виберіть поля з підформи або підзвіту, які пов’язано з вибраними полями головного звіту.

    • Щоб не зв’язувати підформу або підзвіт із головним звітом, залиште всі списки пустими.

      Натисніть кнопку Далі, щоб продовжити.

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

    Введення імені в майстрі підпорядкованих звітів

Access додає елемент керування підзвіту до звіту та прив’язує його (тобто налаштовує його властивість Вихідний об’єкт) таким чином:

  • Якщо на першій сторінці майстра вибрано Використовувати наявний звіт або форму, Access прив’язує елемент керування підзвіту до звіту або форми, яку ви вказали.

  • Якщо на першій сторінці майстра вибрано Використовувати наявні таблиці та запити, Access створює новий об’єкт звіту в області переходів, а потім прив’язує елемент керування підзвіту до нього. Новому об’єкту звіту надається ім’я, яке ви ввели на останній сторінці майстра.

Додавання до звіту таблиці, запиту, форми або іншого звіту як підзвіту

Швидкий спосіб додати підзвіт до звіту – відкрити головний звіт у режимі розмітки або конструктора, а потім перетягнути до нього об’єкт з області переходів. Якщо потрібно зв’язати підзвіт із головним звітом, переконайтеся, що відповідні джерела записів пов’язано між собою та що вони містять поля для зв’язування підформи або підзвіту з головним звітом.

  1. В області переходів клацніть правою кнопкою миші звіт, який має бути головним, а потім виберіть із контекстного меню Режим розмітки або Конструктор.

  2. Перетягніть таблицю, запит, форму або інший звіт з області переходів до бажаного розташування в головному звіті.

Access виконає одну з таких дій:

  • Якщо Access зможе визначити, як пов’язати ці два об’єкти, то додасть до звіту елемент керування підзвіту. Якщо ви додасте форму або звіт, Access прив’яже елемент керування підзвіту до цього об’єкта. Якщо ви додасте таблицю або запит, Access спочатку створить об’єкт звіту, а потім прив’яже елемент керування підзвіту до цього нового об’єкта.

  • Якщо Access не зможе визначити, як пов’язати два об’єкти, відкриється майстер підпорядкованих звітів. Далі дотримуйтеся вказівок у розділі Створення підзвіту за допомогою майстра підпорядкованих звітів, починаючи з кроку 9.

    Коли ви виконаєте кроки майстра, Access додасть підзвіт до звіту.

Щоб перевірити, чи підформу або підзвіт правильно зв’язано з головним звітом, дотримуйтеся наведених нижче вказівок.

  1. Клацніть елемент керування підзвіту, щоб вибрати його.

  2. Якщо аркуш властивостей ще не відображається, натисніть клавішу F4.

  3. На вкладці Дані аркуша властивостей перевірте властивості Зв’язати основні поля та Зв’язати дочірні поля.

    • Якщо підформу або підзвіт не зв’язано, обидві властивості мають бути пусті.

    • Для зв’язаної підформи або підзвіту у властивостях Зв’язати основні поля та Зв’язати дочірні поля має відображатись одне або кілька полів, які зв’язують два об’єкти. Наприклад, якщо в головному звіті відображається інформація з таблиці "Працівники", а в підформі або підзвіті – відомості з таблиці "Замовлення", властивість Зв’язати основні поля має містити поле ідентифікатора з таблиці "Працівники", а властивість Зв’язати дочірні поля – поле ідентифікатора працівника з таблиці "Замовлення".

Можливо, виявиться, що ці властивості потрібно змінити, щоб підформа або підзвіт працював належним чином. Для цього виконайте такі дії:

  1. На вкладці Дані аркуша властивостей клацніть поле властивості Зв’язати основні поля й натисніть кнопку Побудувати  Малюнок на кнопці.

    З’явиться діалогове вікно Засіб з’єднання полів підзвіту.

    Subreport Field Linker dialog box

  2. Зі списків Основні поля та Дочірні поля виберіть поля, з якими потрібно зв’язати звіти. Якщо ви не знаєте, які поля слід використовувати, натисніть кнопку Запропонувати, щоб програма Access спробувала визначити поля зв’язування. Завершивши, натисніть кнопку OK.

    Якщо поля, які потрібно використати для зв’язування звіту, не відображаються, необхідно відредагувати джерело записів головного звіту, підформи або підзвіту, щоб забезпечити наявність у ньому поля зв’язування. Наприклад, якщо звіт створено на основі запиту, слід переконатися, що поле зв’язування наявне в результатах запиту.

  3. Збережіть головний звіт і перейдіть до подання звіту, а потім переконайтеся, що звіт працює належним чином.

Додавання до звіту таблиці або запиту як таблиці даних

Таблиця даних – це просте візуальне подання даних, схоже на електронну таблицю. Кожен стовпець у таблиці даних представляє поле вихідної таблиці або запиту, а кожен рядок – запис. Щоб відобразити таблицю даних у звіті, можна скористатись елементом керування "Підформа/підзвіт". Цей спосіб особливо корисний у випадках, коли потрібно компактно подати дані, не використовуючи можливості форматування об’єкта форми або звіту. Щоб додати таблицю даних до звіту, зробіть ось що:

  1. В області переходів клацніть правою кнопкою миші звіт, який потрібно використовувати як головний, а потім виберіть із контекстного меню Конструктор.

  2. На вкладці Конструктор у групі Елементи керування відкрийте колекцію елементів керування, клацнувши стрілку вниз у нижньому правому куті.

    Зображення стрічки

  3. У меню, яке з’явиться, переконайтеся, що не вибрано параметр Застосувати майстри елементів керування.

  4. Відкрийте колекцію елементів керування ще раз і виберіть Підформа/підзвіт.

  5. Клацніть звіт у місці, де потрібно вставити підзвіт.

  6. Якщо запуститься майстер підпорядкованих звітів, натисніть кнопку Скасувати, щоб закрити його.

  7. Якщо аркуш властивостей ще не відображається, натисніть клавішу F4.

  8. У звіті клацніть новий елемент керування підзвіту, щоб вибрати його.

  9. На вкладці Дані аркуша властивостей клацніть стрілку в полі властивості Вихідний об’єкт і виберіть таблицю або запит, який потрібно відобразити в елементі керування підзвіту. Наприклад, щоб відобразити таблицю "Замовлення", виберіть Таблиця.Замовлення.

    Access спробує зв’язати таблицю даних із головним звітом на основі зв’язків, визначених у базі даних.

  10. На вкладці Дані аркуша властивостей перевірте властивості Зв’язати основні поля та Зв’язати дочірні поля.

    • Якщо таблицю даних не зв’язано, переконайтеся, що обидві властивості пусті.

    • Для зв’язаної таблиці даних у властивостях Зв’язати основні поля та Зв’язати дочірні поля має відображатись одне або кілька полів, які зв’язують її з головним звітом. Наприклад, якщо в головному звіті відображається інформація з таблиці "Працівники", а в таблиці даних – відомості з таблиці "Замовлення", властивість Зв’язати основні поля має містити поле ідентифікатора з таблиці "Працівники", а властивість Зв’язати дочірні поля – поле ідентифікатора працівника з таблиці "Замовлення".

У деяких випадках може знадобитися налаштувати властивості полів зв’язування самостійно. Це можна зробити, дотримуючись наведених нижче вказівок.

  1. На вкладці Дані аркуша властивостей клацніть поле властивості Зв’язати основні поля й натисніть кнопку Побудувати  Малюнок на кнопці.

  2. Якщо з’явиться діалогове вікно повідомлення системи безпеки, натисніть кнопку Відкрити.

    Відобразиться діалогове вікно Засіб з’єднання полів підзвіту.

    Subreport Field Linker dialog box

  3. Зі списків Основні поля та Дочірні поля виберіть поля, за допомогою яких потрібно зв’язати головний звіт із таблицею даних. Якщо ви не знаєте, які поля слід використовувати, натисніть кнопку Запропонувати, щоб програма Access спробувала визначити поля зв’язування. Завершивши, натисніть кнопку OK.

    Якщо поля, які потрібно використати для зв’язування, не відображаються, необхідно відредагувати джерело записів головного звіту або таблиці даних, щоб забезпечити наявність у ньому поля зв’язування. Наприклад, якщо таблицю даних створено на основі запиту, перевірте, чи наявне поле зв’язування в результатах запиту.

  4. Збережіть головний звіт і перейдіть до подання звіту, а потім переконайтеся, що звіт працює належним чином.

На початок сторінки

Змінення оформлення підзвіту

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

Відкриття підформи або підзвіту в новому вікні в режимі конструктора

Щоб внести зміни до підформи або підзвіту під час роботи з головним звітом у режимі конструктора, можна відкрити підформу або підзвіт в окремому вікні.

  1. Клацніть підформу або підзвіт, щоб вибрати його.

  2. На вкладці Конструктор у групі Знаряддя виберіть Підпорядкований звіт у новому вікні.

Примітка.: Ця команда недоступна, якщо елемент керування підформи або підзвіту зв’язано з таблицею або запитом.

Відображення підсумків із підзвіту в головному звіті

Припустімо, ви використовуєте підзвіт "Замовлення", який містить текстове поле з ім’ям "Загальна вартість пересилання", і це текстове поле обчислює суму стовпця "Вартість пересилання". Щоб відобразити суму з підзвіту в головному звіті, потрібно додати текстове поле до головного звіту, а потім скористатися виразом, щоб створити посилання на текстове поле "Загальна вартість пересилання" в підзвіті. Це можна зробити, дотримуючись наведених нижче вказівок.

  1. В області переходів клацніть правою кнопкою миші головний звіт і виберіть Конструктор із контекстного меню.

  2. На вкладці Конструктор у групі Елементи керування виберіть Текстове поле.

  3. Клацніть головний звіт у місці, де потрібно вставити нове текстове поле.

  4. Якщо аркуш властивостей ще не відображається, натисніть клавішу F4.

  5. На вкладці Дані аркуша властивостей у поле властивості Джерело елемента керування введіть такий вираз:

    =IIf(IsError([Підзвіт Замовлення].[Звіт]![Загальна вартість доставки]),0,[Підзвіт Замовлення].[Звіт]![Загальна вартість доставки])

    Примітки.: 

    • У цьому прикладі можна використати простіший вираз =[Підзвіт "Замовлення"].[ Звіт]! [Загальна вартість доставки] але потім, якщо підзвіт не містить даних, елемент керування в головному звіті відображає #Error. Використання функції IsError у функції IIf , як показано в першому виразі, гарантує, що текстове поле в головному звіті відображає нуль (0), якщо підзвіт не повертає жодних даних.

    • Щоб створити вираз, можна скористатися побудовником виразів. Для цього натисніть кнопку Побудувати  Малюнок на кнопці в полі властивості Джерело елемента керування.

  6. На вкладці Формат аркуша властивостей установіть для властивості Формат відповідне значення (у цьому випадку – Грошова один.).

  7. Збережіть звіт і перейдіть до подання звіту, а потім переконайтеся, що обчислення виконується правильно.

На початок сторінки

Потрібна додаткова довідка?

Потрібні додаткові параметри?

Ознайомтеся з перевагами передплати, перегляньте навчальні курси, дізнайтесь, як захистити свій пристрій тощо.

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

Чи ця інформація була корисною?

Наскільки ви задоволені якістю мови?
Що вплинуло на ваші враження?
Натиснувши кнопку "Надіслати", ви надасте свій відгук для покращення продуктів і служб Microsoft. Ваш ІТ-адміністратор зможе збирати ці дані. Декларація про конфіденційність.

Дякуємо за відгук!

×