Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторні-Access.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
63.15 Mб
Скачать

6. Звіт “Каталог” бази даних “Борей”

Звіт створений для друкування каталогу товарів фірми. Він містить інформацію полів Типы та Товары. Першою сторінкою каталогу є титульний листок з емблемою фірми, другою – інформація для потенційних клієнтів. На інших сторінках подано перелік товарів, які можна купити на фірмі (задана опція, яка не дозволяє розривати записи категорії на різних сторінках), остання сторінка – бланк замовлення.

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

У заголовку групи Категория розміщено поля таблиці Типы та приєднана рамка об’єкта, в якому відображається малюнок відповідної категорії товару. У цій же області знаходиться елемент для відображення підлеглого звіту Подчиненный для каталога, в якому відображається перелік товарів окремої категорії. Підлеглий звіт знаходиться в базі даних як окремий об’єкт. Він створений на основі полів таблиці Товары і складається з полів Марка, КодТовара, ЕдиницаИзмерения, Цена. В області примітки групи розміщено лише лінію. На кожній сторінці звіту виводиться номер сторінки (вираз ="Страница " & [Page] в області нижнього колонтитула).

Друкування звіту задане наступними властивостями:

  • для цілого звіту: Нижний колонтитул і Верхний колонтитул – Без заголовка/примечания;

  • для заголовку звіту: Конец страницы –После раздела;

  • для примітки звіту: Конец страницы – До раздела;

  • для заголовку групи: Не разрывать – Да

7. Створити складений звіт

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

Крок 1. Для створення такого звіту потрібно попередньо створити запити Замовлення_знижка та Сума_зі_знижкою, які визначатимуть розмір знижки для кожного замовлення та обчислюватимуть вартість замовлення з урахуванням знижки.

Запити Замовлення_знижка створюється на основі запиту Замовлення_Сума. В його структуру ввійдуть поля КодЗаказа та Вартість. Групування відбуватиметься по значеннях поля КодЗаказа, а значення поля Вартість додаватимуться. Величина знижки для кожного замовлення (поле Знижка_сума) обчислюється за формулою

IIf(Sum([Вартість])>10000;0,02;0).

Вікно конструктора такого запиту зображене на мал. 3.54.

Для визначення грошового еквівалента знижки та вартості замовлення з урахуванням знижки створимо запит Сума_зі_знижкою, структура якого міститиме поля КодЗаказа, Вартість та Знижка_сума запиту Замовлення_знижка. Розмір знижки обчислюватиметься за формулою

[Вартість]*[Знижка_сума],

а вартість замовлення з урахуванням знижки за формулою

[Вартість]*(1-[Знижка_сума]).

Бланк запиту матиме вигляд, показаний на мал. 3.55.

Мал.3.54. Вікно конструктора запиту Замовлення_знижка

Мал. 3.55. Вікно конструктора запиту Сума_зі_знижкою

Крок 2. Перейдемо до створення звіту. Нехай наш звіт відображатиме заповнений бланк замовлення у вигляді, показаному на мал. 3.56: на кожному аркуші замовлення повинна знаходитись інформація про номер замовлення та дату його виконання, дані про клієнта, детальний опис замовлення (найменування, ціна товару, знижка на окреме найменування), а також вартість замовлення без урахування та з урахуванням знижки на суму замовлення. Інформація, яка знаходиться у полях таблиць чи запитів, показана на мал. 3.56 у рамках, зокрема:

  • Дані про клієнта – поля запиту Покупці_запит;

  • код, дата – поля таблиці Заказы;

  • Найменування товару, ціна, кількість... – поля запиту Замовлення_Сума;

  • вартість 1, знижка, вартість 2 – поля запиту Сума_зі_зниж­кою.

Мал. 3.56. Структура бланку замовлення

У звіті міститиметься вбудований (підлеглий) звіт – детальна інформація про кожне замовлення (найменування товару, ціна, кількість, знижка на окремий товар, вартість замовленого товару з урахуванням знижки). Створимо його, використовуючи дані усіх полів (крім Код­Заказа) запиту Замовлення_Сума.

Зауваження

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

У режимі конструктора створений запит (назвемо його Замовлення_підлеглий) матиме вигляд, показаний на мал. 3.57.

Мал. 3.57. Вигляд звіту Замовлення_підлеглий у режимі конструктора

Після цього перейдемо до створення основного звіту. Тут найкраще скористатися майстром створення звітів.

У звіті повинні знаходитися такі поля таблиць та запитів:

  • запит Покупці_запит – усі, крім КодКлиента;

  • таблиця Заказы – КодЗаказа, ДатаИсполнения;

  • запит Сума_зі_знижкою – усі поля, крім КодЗаказа.

У вікні майстра звітів потрібно задати вигляд подання даних, показаний на мал. 3.58.

У наступних вікнах не потрібно додавати рівнів групування та задавати параметрів сортування. Задамо вигляд макету звіту (по левому краю 1) та стиль (полужирный). На останньому кроці присвоїмо звіту назву Замовлення_покупці та перейдемо до зміни структури звіту. У вікні конструктора створений звіт матиме вигляд, подібний до наведеного на мал. 3.59.

Мал. 3.58. Вікно майстра звітів: вигляд подання даних

У наступних вікнах не потрібно додавати рівнів групування та задавати параметрів сортування. Задамо вигляд макету звіту (по левому краю 1) та стиль (полужирный). На останньому кроці присвоїмо звіту назву Замовлення_покупці та перейдемо до зміни структури звіту. У вікні конструктора створений звіт матиме вигляд, подібний до наведеного на мал. 3.59.

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

  1. Знищимо області заголовку та примітки звіту, а також очистимо область нижнього колонтитула.

  2. Перенесемо усі елементи (поля та написи) з області заголовку групи ”КодКлиента” в область заголовку групи ”КодЗаказа” та знищимо область заголовку групи ”Код Клиента”.

  3. В області заголовку групи ”КодЗаказа” знищимо написи, які відповідають елементам області даних.

Мал. 3.59. Вигляд звіту Замовлення_покупці після завершення роботи майстра

  1. В область заголовку групи ”КодЗаказа” помістимо елемент Подчиненная форма/отчет та задамо йому такі властивості (вкладка Данные):

  • Объект-источник – Отчет.Замовлення_підлеглий;

  • Подчиненные поля – КодЗаказа;

  • Основные поля – КодЗаказа.

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

  2. Внизу області даних розмістимо елемент Разрыв страницы, оскільки кожен замовлення повинно відображатися на окремому аркуші.

  3. У верхньому колонтитулі можна розмістити назву фірми, її емблему чи іншу інформацію, яка буде відображатися на кожному аркуші бланку замовлення.

  4. Відформатуємо усі елементи звіту: змінимо написи на українські, задамо параметри шрифту відображення даних, вирівняємо елементи та задамо їх відповідні розміри, оформимо області за допомогою ліній (див. мал. 3.60).

Мал. 3.60. Вигляд звіту Замовлення_покупці в режимі конструктора після редагування: 1 – поля таблиці Заказы; 2– написи, які відповідають полям підлеглого звіту; 3 – вбудований елемент підлеглого звіту; 4 – поля запиту Покупці_запит; 5 – лінії та прямокутник; 6– поля запиту Сума_зі_знижкою.

У режимі перегляду кожен аркуш звіту матиме вигляд, подібний до показаного на мал. 3.61.

Мал. 3.61. Зразок сторінки звіту Замовлення_покупці в режимі перегляду