поля.
3.3. Програмування запитів
3.3.1. Побудуємо запит для звіту за умовою задачі 4. У вікні База даних виберемо об’єкт Запити. Появляється вікно Новий запит, в якому вибираємо Конструктор. Появляється вікно Конструктора запиту, на тлі якого маємо вікно Додати таблицю з переліком таблиць бази даних. Вибираємо таблиці і за допомогою команди Додати заносимо їх макети на верхнє поле конструктора запиту. Виконуємо команду Закрити у вікні Додати таблицю.
Групові операції викликаємо за допомогою відповідної кнопки на панелі інструментів.
Запит Rozpodil vyruchky_z в режимі таблиці
Rozpodil vyruchky_z
Назва постачальника сировини | Назва виробу | Виручка
ВАТ "Івано-Франківський хлібокомбінат" | Батон | 20 474,18
ВАТ "Івано-Франківський хлібокомбінат" | Хліб дієтичний | 1 160,00
ВАТ "Івано-Франківський хлібокомбінат" | Хліб дієтичний | 5 800,00
Мілієвський мукомольний комбінат | Хліб пшеничний вищого сорту | 187,50
Мілієвський мукомольний комбінат | Хліб пшеничний вищого сорту | 262,50
Мілієвський мукомольний комбінат | Хліб пшеничний вищого сорту | 1 112,50
Одеський мукомольний комбінат | Хліб житній | 168,00
Одеський мукомольний комбінат | Хліб житній | 252,00
Угринівська макаронна фабрика | Хліб житній з тміном | 1 596,00
Угринівська макаронна фабрика | Хліб житній з тміном | 4 887,75
Угринівська макаронна фабрика | Хліб житній з тміном | 15 986,60
Центральна товарна база | Булка здобна | 35,00
Центральна товарна база | Булка здобна | 700,00
Запит Rozpodil vyruchky_z в режимі SQL:
SELECT Postachalnyk.[Назва постачальника сировини], Hlibovyroby.[Назва виробу], IIf(Torhova_tochka![Наявність націнки (5 %)],Cina![Ціна за одиницю]*Zbut!Кількість*5/100+Cina![Ціна за одиницю]*Zbut!Кількість,Zbut!Кількість*Cina![Ціна за одиницю]) AS Виручка
FROM (Postachalnyk INNER JOIN (Hlibovyroby INNER JOIN Cina ON Hlibovyroby.[Код виробу]=Cina.[Код виробу]) ON Postachalnyk.[Код постачальника]=Cina.[Код постачальника]) INNER JOIN (Torhova_tochka INNER JOIN Zbut ON Torhova_tochka.[Код торгової точки]=Zbut.[Код торгової точки]) ON (Postachalnyk.[Код постачальника]=Zbut.[Код постачальника]) AND (Hlibovyroby.[Код виробу]=Zbut.[Код виробу])
WHERE (((Year([Дата]))=Year(Date())))
GROUP BY Postachalnyk.[Назва постачальника сировини], Hlibovyroby.[Назва виробу], IIf(Torhova_tochka![Наявність націнки (5 %)],Cina![Ціна за одиницю]*Zbut!Кількість*5/100+Cina![Ціна за одиницю]*Zbut!Кількість,Zbut!Кількість*Cina![Ціна за одиницю]);
Для забезпеченн підсумків по горизонталі і відображення розподілу виручки за проданий товар формуємо перехресний запит Rozpodil vyruchky_zp:
Запит Rozpodil vyruchky_zp в режимі таблиці
Rozpodil vyruchky_zp
Назва постачальника сировини | Виручка | Батон | Булка здобна | Хліб дієтичний | Хліб житній | Хліб житній з тміном | Хліб пшеничний вищого сорту
ВАТ "Івано-Франківський хлібокомбінат" | 27 434,18 | 20 474,18 | 6 960,00
Мілієвський мукомольний комбінат | 1 562,50 | 1 562,50
Одеський мукомольний комбінат | 420,00 | 420,00
Угринівська макаронна фабрика | 22 470,35 | 22 470,35
Центральна товарна база | 735,00 | 735,00
Запит Rozpodil vyruchky_zp в режимі SQL:
TRANSFORM Sum([Rozpodil vyruchky_z].Виручка) AS [Sum-Виручка]
SELECT [Rozpodil vyruchky_z].[Назва постачальника сировини], Sum([Rozpodil vyruchky_z].Виручка) AS Виручка
FROM [Rozpodil vyruchky_z]
GROUP BY [Rozpodil vyruchky_z].[Назва постачальника сировини]
PIVOT [Rozpodil vyruchky_z].[Назва виробу];
3.3.2. Запит для діаграми за умовою задачі 5 теж побудуємо за допомогою конструктора. Назвемо його Kilkist prodanoho hliba_d.
Даний запит не можна переглянути в режимі таблиці, оскільки він зв’язаний з формою, на якій необхідно вибрати постачальника.
Запит Kilkist prodanoho hliba_d в режимі SQL:
SELECT Year([Дата]) AS Рік, Sum(Zbut.Кількість) AS [Sum-Кількість], Postachalnyk.[Назва постачальника сировини]
FROM (Postachalnyk INNER JOIN Zbut ON Postachalnyk.[Код постачальника] = Zbut.[Код постачальника]) INNER JOIN Hlibovyroby ON Zbut.[Код виробу] = Hlibovyroby.[Код виробу]
GROUP BY Year([Дата]), Postachalnyk.[Назва постачальника сировини], Hlibovyroby.[Назва виробу], Postachalnyk.[Код постачальника]
HAVING (((Year([Дата])) Between (Year(Date())-10) And Year(Date())) AND ((Hlibovyroby.[Назва виробу])="Хліб житній") AND ((Postachalnyk.[Код постачальника])=[Forms]![Diagrama_forma]![ПолеСоСписком0]))
ORDER BY Year([Дата]);
3.3.3. Для звіту за умовою задачі 6 потрібно побудувати простий запит в якому будуть відібрані такі відомості: назви виробів, назви торгових точок і сумарна кількість кожного проданого товару в тих торгових точках, де відсутня торгова націнка.
Даним запитом забезпечемо виконання умов задачі.
Створюємо за допомогою конструктора простий запит Torh_to4_bez_nac
Запит в режимі таблиці
Torh_to4_bez_nac
Назва торгової точки | Назва виробу | Sum-Кількість
Бар "Веста" | Батон | 200
Бар "Веста" | Булка здобна | 500
Бар "Веста" | Хліб дієтичний | 6000
Бар "Веста" | Хліб житній | 450
Бар "Веста" | Хліб житній з тміном | 12020
Бар "Веста" | Хліб пшеничний вищого сорту | 783
Кафе "Астра" | Булка здобна | 25
Кафе "Астра" | Хліб житній | 722
Кафе "Астра" | Хліб житній з тміном | 2820
Кафе "Астра" | Хліб пшеничний вищого сорту | 1040
Запит Torh_to4_bez_nac в режимі SQL
SELECT Torhova_tochka.[Назва торгової точки], Hlibovyroby.[Назва виробу], Sum(Zbut.Кількість) AS [Sum-Кількість]
FROM (Torhova_tochka INNER JOIN Zbut ON Torhova_tochka.[Код торгової точки] = Zbut.[Код торгової точки]) INNER JOIN Hlibovyroby ON Zbut.[Код виробу] = Hlibovyroby.[Код виробу]
GROUP BY Torhova_tochka.[Назва торгової точки], Hlibovyroby.[Назва виробу], Torhova_tochka.[Наявність націнки (5 %)]
HAVING (((Torhova_tochka.[Наявність націнки (5 %)])=False));
3.3.4. Запит для форми за умовою задачі 7.
Ця форма служить для перегляду всіх даних заданої бази, тому в вікно конструктора запиту внесемо всі таблиці і з’єднаємо їх між собою за допомогою відповідних кодових полів.
Створюємо запит forma_z, за допомогою якого будуть відібрані:
Назви постачальників сировини;
Назви виробів;
Ціна за одиницю;
Запит forma_z в режимі таблиці:
forma_z
Назва постачальника сировини | Назва виробу | Ціна за одиницю
ВАТ "Івано-Франківський хлібокомбінат" | Батон | 1,17
ВАТ "Івано-Франківський хлібокомбінат" | Хліб дієтичний | 1,16
Мілієвський мукомольний комбінат | Хліб пшеничний вищого сорту | 1,25
Одеський мукомольний комбінат | Хліб житній | 0,40
Угринівська макаронна фабрика | Хліб житній з тміном | 1,33
Центральна товарна база | Булка здобна | 1,40
Створюємо запит forma_vid_pro_zbut, який буде підпорядкований головній формі за допомогою якого будуть відібрані такі дані:
Назви постачальників сировини;
Назви виробів;
Назви торгових точок;
Кількість;
Дата;
forma_vid_pro_zbut
Назва постачальника сировини | Назва виробу | Назва торгової точки | Кількість | Дата
Мілієвський мукомольний комбінат | Хліб пшеничний вищого сорту | Кафе "Астра" | 890 | 04.05.06
Мілієвський мукомольний комбінат | Хліб пшеничний вищого сорту | Бар "Веста" | 450 | 26.01.01
Мілієвський мукомольний