Створення та використання підзвітів

Коли ви працюєте з реляційними даними (пов’язаними даними, які зберігаються в окремих таблицях), часто виникає потреба переглянути дані з кількох таблиць або запитів в одному звіті. Припустімо, потрібно одночасно переглянути дані клієнта й відомості про його замовлення. Для цього зручно використовувати підзвіти в Access. Вони дають змогу в зрозумілій формі відобразити відомості про замовлення у звіті з даними клієнта. В Access передбачено кілька способів швидко створити підзвіт.

У цій статті

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

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

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

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

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

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

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

Вільний головний звіт із двома підзвітами, які містять непов’язані дані

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

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

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

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

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

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

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

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

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

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

Головний звіт із двома підзвітами, які містять пов’язані дані

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Access пропонує поля для зв’язування в майстрі підпорядкованих звітів

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ця інформація корисна?

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

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

×