realiz ON vurobu.[kod vur] = realiz.[kod vur]
WHERE (((vurobu.[naz vur])=[Forms]![grafik]![ПолеСоСписком1]) AND ((realiz.peredopl)=True) AND ((Year([data]))=Year(Date())));
Для звіту за умовою задачі 6 теж побудуємо за допомогою конструктора, виберемо таблиці Filiya, Produkti, Vihotovlennya. Назвемо його virobni4a diyalnist', занесемо в запит такі поля:
Назва філії, Адреса філії: Filiya![Nazva filij]+" "+Filiya![Adresa filij] ;
Назва продукту, Марка продукту: Produkti![Nazva produktu]+" "+Produkti![Marka produktu]
Sum-Кількість виготовленого продукту: Kilkist vihotovlenoho produktu
Минулий рік: Year([Data obliku]) Умова відбору Year(Date())-1
Групові операції викликаємо за допомогою відповідної кнопки на панелі інструментів. Готовий запит virobni4a diyalnist' показаний на рис. 3.11
Рисунок 3.11 – запит virobni4a diyalnist' в режимі перегляду
запит virobni4a diyalnist' в режимі SQL:
SELECT Filiya![Nazva filij]+" "+Filiya![Adresa filij] AS [Назва філії, Адреса філії], Produkti![Nazva produktu]+" "+Produkti![Marka produktu] AS [Назва продукту, Марка продукту], Sum(Vihotovlennya.[Kilkist vihotovlenoho produktu]) AS [Sum-Кількість виготовленого продукту], Year([Data obliku]) AS [Минулий рік]
FROM Filiya INNER JOIN (Produkti INNER JOIN Vihotovlennya ON Produkti.[Kod produktu] = Vihotovlennya.[Kod poduktu]) ON Filiya.[Kod filij] = Produkti.[Kod filij]
GROUP BY Filiya![Nazva filij]+" "+Filiya![Adresa filij], Produkti![Nazva produktu]+" "+Produkti![Marka produktu], Year([Data obliku])
HAVING (((Year([Data obliku]))=Year(Date())-1));
Запит для поштової наклейки за умовою задачі 8 теж побудуємо за допомогою конструктора, виберемо таблиці – Filiya, Produkti, Vihotovlennya. Назвемо його naklejka і внесемо такі поля:
Nazva produktu
Marka produktu
Zina odiniz produktu
Nazva filij
Adresa filij
Kilkist vihotovlenoho produktu
inves: IIf([Kilkist investizij]=0;"інвестиціїї відсутні")
Month([Data obliku]) Умова відбору Month(Date())-1
Year([Data obliku]) Умова відбору Year(Date())
Групові операції викликаємо за допомогою відповідної кнопки на панелі інструментів. Готовий запит nakleyka показаний на рис. 3.12
Рисунок 3.12 – Запит naklejka для поштових наклейок в режимі перегляду
Запит naklejka в режимі SQL:
SELECT Produkti.[Nazva produktu], Produkti.[Marka produktu], Produkti.[Zina odiniz produktu], Filiya.[Nazva filij], Filiya.[Adresa filij], Vihotovlennya.[Kilkist vihotovlenoho produktu], IIf([Kilkist investizij]=0,"інвестиціїї відсутні") AS inves
FROM Filiya INNER JOIN (Produkti INNER JOIN Vihotovlennya ON Produkti.[Kod produktu] = Vihotovlennya.[Kod poduktu]) ON Filiya.[Kod filij] = Produkti.[Kod filij]
WHERE (((Month([Data obliku]))=Month(Date())-1) AND ((Year([Data obliku]))=Year(Date())));
3.4. Виготовлення звітів
Звіт rozp doxodiv per за умовою задачі 4 виготовимо за допомогою майстра звіту. У вікні База даних виберемо об’єкт Звіт, виконаємо команду Створити. Появляється вікно Новий звіт, вибираємо у нижній його частині джерело звіту – запит rozp doxodiv per, а в верхній – майстра. Дамо відповіді на кроки майстра:
на пропозицію вибрати імена полів, виберемо Nazva filij, Nazva produktu:; Doxid;1;2;3;4;
пропонується додати рівень групування. Додамо поле Nazva filij, Nazva produktu ;
майстер пропонує встановити порядок сортування рядків, залишимо все без зміни. Натиснемо кнопку Підсумки, виберемо операцію Sum для полів Doxid; 1; 2; 3; 4 команда Ok; макет звіту – ступінчастий;
стиль – спокійний;
надамо ім’я звіту rozp doxodiv per, команда Готово.
Переглянемо звіт, виготовлений майстром, перейдемо в режим конструктора. У вікні конструктора відредагуємо написи . Готовий звіт rozp doxodiv per показаний на рис. 3.14.
Рисунок 3.14. – Звіт rozp doxodiv per, виготовлений майстром, в режимі перегляду
Графік за умовою задачі 5: викличемо майстра діаграм, виберемо джерело – запит grafik. Відповідаючи на кроки майстра, виберемо всі поля, тип – графік. Назвемо графік grafik. Відредагуємо діаграму у вікні конструктора, для цього поставимо курсор на область даних, викличемо контекстне меню і виконаємо команди Властивості-Діаграма1–Джерело рядків, що дозволить редагувати елементи діаграми. Готова діаграма grafik показана на рис. 3.15.
Рисунок.3.15 Графік grafik (продукту вилка).
Звіт virobni4a diyalnist' за умовою задачі 6 виготовимо за допомогою майстра. Готовий звіт показаний на рис. 3.16.
Рисунок 3.16 Звіт virobni4a diyalnist'
Для виготовлення поштової наклейки naklejka за умовою задачі 8 скористаємося майстром поштової наклейки. В якості джерела використаємо запит naklejka. Під час роботи майстра в прототип наклейки внесемо потрібні написи і поля запиту. Наклейки в режимі перегляду показані на рис. 3.17.
Рисунок 3.17 – Поштова наклейка, видана програмою naklejka
3.5. Конструювання форм
Форма для графіку за умови задачі 5 виготовимо за допомогою конструктора:
виберемо поля «Поле со списком» на Панелі елементів;
Зявиться вікно оберемо таблицю Produkti і поле Nazva produktu, команда Далі і команда Готово;
Тепер встановимо кнопку, яка дозволить вводити дані в таблицю безперервно, не закриваючи кожний раз форму і кнопку Вихід. Виконаємо кроки майстра кнопки:
обробка записів – додати запис;
відредагуємо текст на кнопці, напишемо Додати запис;
погодимося з майстром про назву кнопки, команда Готово.
І кнопку Вихід:
робота з формою – закрити форму;
відредагуємо текст на кнопці, напишемо Вихід;
погодимося з майстром про назву кнопки, команда Готово.
При закритті вікна на пропозицію конструктора задати ім’я формі заносимо у вікно назву grafik.
Готова форма показана на рисунку 3.18
Рисунок 3.18 – Форма grafik
Форму forma за умовою задачі 7. В якості джерела форми використаємо таблиці Filiya, Produkti, Vihotovlennya. Виконаємо кроки майстра:
1 - виберемо поля;
2 - зовнішній вигляд – в один стовпчик;
3 - стиль – стандартний;
4 - задамо ім’я форми – forma, команда Готово.
Відкриємо форму в режимі конструктора, відредагуємо написи, вирівняємо поля форми.
Викличемо вікно Властивості для форми. В розділі Дані заборонимо зміну і знищення даних, так як ця форма служить лише для їх перегляду. Для запуску звітів і форми add встановимо 7 кнопок за допомогою майстра. Відредагуємо властивості форми за допомогою вікна Властивості. Властивості роділу Макет залишимо без змін. Готова форма forma в режимі перегляду показана на рис. 3.20.
Рисунок 3.20 – Форма forma
3.6. Виготовлення звітів засобами мови Visual Basic for Application
Для програмування модуля відкриємо редактора VBA (об’єкт Модулі) з вікна База даних. Для виготовлення звіту за умовою задачі 6 може послужити процедура-підпрограма. Назвемо її Zvit(), текст підпрограми має вигляд:
Option Compare Database
Option Explicit
Option Base 0
Sub Zvit()
Dim b As Boolean,