Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЗВІТИ.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
177 Кб
Скачать
☆

Вправа 21.2. Перегляд запиту, який формує майстер для створення багатотабличного звіту

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

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

  2. Проглянемо запит, створений майстром у вигляді запиту QBE.

Для цього в діалоговому вікні властивостей звіту в рядку Джерело записів (Record Source) виберемо Будівник (Build), яка викличе будівника запитів, у вікні якого відображається схема даних і бланк запиту.

3. Відобразимо список полів, доступних в звіті, коли у властивостях звіту як джерело записів записана інструкція SQL.

Для цього натиснемо на панелі конструктора звітів кнопку Список полів (Field List). В заголовку вікна, що відкрилося, записана інструкція SQL.

Вправа 21.3. Редагування макета звіту в режимі конструктора

1. Відредагуємо написи полів в звіті, побудованому майстром:

  • для поля номера групи НГ в заголовку групи;

  • для поля підрахунку числа записів і поля підрахунку суми годинника по групах.

  1. Перемістимо поле, що визначає поточну дату з виразом =Now(), і поле номера сторінок звіту з нижнього колонтитулу в заголовок звіту.

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

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

5. Відредагуємо текст заголовків відповідно до проекту макета.

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

Зауваження

В звітах можна вивести значення деякого поля запису або підсумкового поля угрупування наростаючим підсумком. Наприклад, можна накопичувати суму годин від групи до групи. Властивість Сума з накопиченням (RunningSum) розміщена на вкладці Дані.

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

Розглянемо створення звіту з використанням запиту на прикладі формування бланка Екзаменаційна відомість для вказаної групи студентів по заданому предмету. Звіт-бланк повинен мати форму документа (мал. 4.), що використовується викладачем для введення даних.

Вправа 22.1. Створення запиту для звіту

Розглянемо підготовку запиту, що забезпечує вибірку інформації, необхідної для формування бланка екзаменаційної відомості.

1. Визначимо таблиці бази даних і їх поля для виведення в звіт реквізитів, вказаних в проекті макета на мал. 4.

  • Для виведення в шапку бланка екзаменаційної відомості значень реквізитів Вид здачі, Група необхідні дані з полів ВИДЗ, НГ таблиці ВИВЧЕННЯ.

  • Для виведення значень реквізитів із загальним написом Викладач (прізвище, вчене звання) необхідні дані з полів ПІБ, ЗВ таблиці ВИКЛАДАЧ.

  • Для виведення реквізиту Назва предмету необхідні дані з поля НП таблиці ПРЕДМЕТ.

  • Для виведення в табличну частину бланка екзаменаційної відомості значень реквізитів № п/п, Прізвище І.Б. необхідні дані з полів НС, ПІБ таблиці СТУДЕНТ.

Таким чином, запит для вибірки цих взаємозв'язаних даних повинен бути побудований на основі таблиць ВИВЧЕННЯ, ВИКЛАДАЧ, ПРЕДМЕТ, СТУДЕНТ.

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

При цьому зв'язки типу 1:М між таблицями встановляться автоматично відповідно до схеми даних БД. Між таблицями СТУДЕНТ і ВИВЧЕННЯ автоматично встановиться зв'язок-об'єднання по однойменному полю НГ (номер групи). При цьому записи з цих таблиць об'єднуються і додаються в результат тільки в тому випадку, якщо зв'язані поля містять однакові значення.

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

  2. В рядку бланка запиту Умову відбору (Criteria) визначимо параметри запиту [Номер групи] і [Найменування предмету] для діалогового введення їх значень при виконанні запиту. Це дозволяє одержати дані для конкретної відомості.

  1. Для виведення в звіті значень реквізиту Вид здачі — Іспит або Залік, яких немає безпосередньо в таблицях БД, передбачимо обчислюване поле, в якому формуватимуться названі значення відповідно двом можливим значенням поля ВИДЗ — лек і пр таблиці ВИВЧЕННЯ.

  2. Запишемо в обчислюване поле вираз, в якому сформуємо вбудовану функцію управління

Выражение1: Lif ([ ВИДЗ ] = "лек"; "іспит"; "залік")

Відповідно до формату цієї функції, якщо виконається умова [ВИДЗ] = "лек" (тобто в полі ВИДЗ знаходиться значення лек), то результатом функції буде — Іспит. Інакше, тобто при [ВИДЗ] = пр результатом функції буде — Залік.

7. Збережемо запит під ім'ям Відомість.

8. Здійснимий запит, натискуючи кнопку Запуск (Run).

Використовування засобів Access для створення звіту забезпечить перетворення одержуваної таблиці результатів запиту у вихідний документ потрібної форми відповідно до проекту макета звіту.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]