
2.3 Пошук та вибірка даних
Для пошуку та вибірки даних у MS Access використовуються такі об’єкти як запити.
Запит – це об’єкт MS Access , який використовується для перегляду , аналізу , та модифікації даних із декількох таблиць . Найчастіше використовуються запити-вибірки.
По суті , запит-вибірка – це питання , яке задається MS Access про інформацію , що зберігається в БД. MS Access виконує обробку запиту і зберігає записи , що задовольняють запиту , у тимчасовій таблиці , яка називається динамічний набором записів (даних).
Крім вибірки даних , за допомогою запитів , можна побудувати перехресні таблиці , виконати групування даних , та виведення результатів обчислень по групах з використанням статичних функцій. Статичні функції використовуються для обчислення суми , середнього значення , кількості записів тощо.
Створити запит можна як і за допомогою майстра , конструктора , так і безпосередньо на мові запитів SQL.
У данній курсовій роботі розроблено 7 основних запитів, які виводяться на екран , а там вже можуть бути подані на друк. Інші запити використовуються як допоміжні , найчастіше у формах у полях зі списком.
Запити:
1.Функція пошуку поставок після певної дати
SQL – код.
SELECT Поставка.дата, Поставка.Постачальник, Постачальник.[ПІБ постачальника], Поставка.Товар, Поставка.кількість, Товари.[Вартість закупівлі], Поставка.ціна
FROM Товари INNER JOIN (Постачальник INNER JOIN Поставка ON Постачальник.[Код постачальника] = Поставка.Постачальник) ON Товари.[Код товару] = Поставка.Товар
WHERE (((Поставка.дата)>[Формы]![(меню:пошук)Пошук поставки після дати]![Поле0]))
ORDER BY Поставка.дата, Поставка.Постачальник, Постачальник.[ПІБ постачальника], Поставка.Товар, Поставка.кількість, Товари.[Вартість закупівлі], Поставка.ціна;
Запит пошук поставки після певної дати був створений за допомогою конструктора запитів(рис10.). У відповідному вікні конструктора додають таблиці з яких буде взята інформація, та у відповідному полі задається умова відбору даних.
Рис10. Конструктор запиту « Пошук поставки після певної дати»
Для того введення критерію запиту була створена спеціальна форма для введення дати початку відліку, тобто критерію для нашого запиту(рис11).
Рис11. Діалогове вікно для введення критеріїв запиту « Пошук поставки після певної дати»
На цій формі наявні дві кнопки: Звіт та Пошук, при натисканні на котрі буде відкрита відповідна форма(рис12).
Рис12. Форма перегляду запиту « Пошук поставки після певної дати»
2. Функція пошуку продажів більше заданої суми та в певний період часу.
SQL – код
SELECT Чек.Дата, Чек.Сума, Чек.Продавец, Чек.Клієнт, Чек.Товар
FROM Чек
WHERE (((Чек.Дата)>[Формы]![(меню:пошук)Більше заданої дати та суми]![Поле22] And (Чек.Дата)<[Формы]![(меню:пошук)Більше заданої дати та суми]![Поле48]) AND ((Чек.Сума)>[Формы]![(меню:пошук)Більше заданої дати та суми]![Поле26]));
3.Фукнція розрахунку загальної суми продажів за кожний день , в певний інтервал часу.
SQL – код.
SELECT Чек.Дата, Sum(Чек.Сума) AS [Загальна сума продажу за цю дату]
FROM Чек
GROUP BY Чек.Дата
HAVING (((Чек.Дата)>[Формы]![Сума за дату]![Поле0] And (Чек.Дата)<[Формы]![Сума за дату]![Поле4]))
ORDER BY Sum(Чек.Сума);
4. Функція пошуку постачальника.
SQL – код.
SELECT Постачальник.[Код постачальника], Постачальник.Назва, Постачальник.[ПІБ постачальника], Постачальник.Банк, Постачальник.[Розрахунковий рахунок], Постачальник.Телефон, Постачальник.Адреса, Поставка.Товар, Поставка.кількість, Поставка.дата, Поставка.ціна, [Товари]![Варість продажу]*[Поставка]![кількість] AS Прибуток, [Товари]![Варість продажу]*[Поставка]![кількість]-[Товари]![Вартість закупівлі]*[Поставка]![кількість] AS [Чистий Прибуток]
FROM Товари INNER JOIN (Постачальник INNER JOIN Поставка ON Постачальник.[Код постачальника] = Поставка.Постачальник) ON Товари.[Код товару] = Поставка.Товар
WHERE (((Постачальник.[Код постачальника])=[Формы]![(меню:пошук)Пошук постачальника]![ПолеСоСписком43]))
ORDER BY Постачальник.Назва DESC;
5. Функція пошуку товару
SQL - код.
SELECT Товари.[Код товару], Товари.Категорія, Товари.Виробник, Товари.Країна, Товари.Модель, Товари.[Вартість закупівлі], Товари.[Варість продажу], Товари.Гарантія
FROM Товари
WHERE (((Товари.[Код товару])=[Формы]![(меню:пошук)Пошук Товару]![ПолеСоСписком2]));
6. Функція пошуку клієнта
SQL – код.
SELECT Клієнт.[Код клієнта], Клієнт.[ПІБ клієнта], Клієнт.Телефон
FROM Клієнт
WHERE (((Клієнт.[Код клієнта])=[Формы]![(меню:пошук)Пошук Клієнта]![ПолеСоСписком2]));
7. Функція загального пошуку. Вона складається з 6 окремих запитів .
SQL –код. Пошуку товару по категорії
SELECT Товари.[Код товару], Товари.Категорія, Товари.Виробник, Товари.Країна, Товари.Модель, Товари.[Вартість закупівлі], Товари.[Варість продажу], Товари.[Варість продажу]
FROM Товари
WHERE (((Товари.Категорія)=[Forms]![Пошук]![ПолеСоСписком257]));
SQL –код. Пошуку товару по моделі.
SELECT Товари.[Код товару], Товари.Категорія, Товари.Виробник, Товари.Країна, Товари.Модель, Товари.[Вартість закупівлі], Товари.[Варість продажу], Товари.Гарантія
FROM Товари
WHERE (((Товари.[Код товару])=[Forms]![Пошук]![ПолеСоСписком313]));
SQL –код. Пошуку постачальника по назві.
SELECT Постачальник.[Код постачальника], Постачальник.Назва, Постачальник.[ПІБ постачальника], Постачальник.Банк, Постачальник.[Розрахунковий рахунок], Постачальник.Телефон, Постачальник.Адреса
FROM Постачальник
WHERE (((Постачальник.[Код постачальника])=[Forms]![Пошук]![ПолеСоСписком273]));
SQL –код. Пошуку постачальника по ПІБ постачальника.
SELECT Постачальник.[Код постачальника], Постачальник.Назва, Постачальник.[ПІБ постачальника], Постачальник.Банк, Постачальник.[Розрахунковий рахунок], Постачальник.Телефон, Постачальник.Адреса
FROM Постачальник
WHERE (((Постачальник.[Код постачальника])=[Forms]![Пошук]![ПолеСоСписком281]));
SQL –код. Пошуку клієнта по ПІБ клієнта.
SELECT Клієнт.[Код клієнта], Клієнт.[ПІБ клієнта], Клієнт.Телефон
FROM Клієнт
WHERE (((Клієнт.[Код клієнта])=[Forms]![Пошук]![ПолеСоСписком291]));
SQL –код. Пошуку клієнта по номеру телефону.
SELECT Клієнт.[Код клієнта], Клієнт.[ПІБ клієнта], Клієнт.Телефон
FROM Клієнт
WHERE (((Клієнт.[Код клієнта])=[Forms]![Пошук]![ПолеСоСписком297]));