Параметри запиту
Для введення через діалогове вікно конкретного значення в умову відбирання записів використовують параметр запиту.
Ім’я параметра запиту задається безпосередньо в рядку Условие отбора у квадратних дужках (рис. 4). При виконанні запиту це ім’я з’явиться в діалоговому вікні Введите значение параметра.
Наприклад:
Between [початкова дата] and [кінцева дата]
Like “*”+[Назва постачальника]+”*”
[Введіть номер накладної]
Якщо у запит вводиться декілька параметрів, то порядок їх уведення через діалогові вікна визначається порядком розташування полів з параметрами в бланку запиту.
Завдання для лабораторної роботи
Відсортувати поле Товар таблиці Товар за абеткою.
Відкрити
таблицю Товар.
Встановити курсор у поле
Товар
та виконати команду меню
Записи/Сортировка/Сортировка
по возрастанию
або натиснути кнопку
.
Відсортувати записи таблиці Магазин у полі Дата за зростанням, записи із однаковою датою впорядкувати за полем Обсяг партії за спаданням.
Відкрити
таблицю Магазин.
Встановити курсор у поле
Обсяг
партії
та
натиснути
кнопку
.
Встановити
курсор у поле
Дата
та
натиснути
кнопку
.
Використовуючи фільтр по виділеному у таблиці Магазин знайти записи, у яких код постачальника дорівнює 97.
Виділити
число 97
у полі
Постачальник
та виконати команду меню Записи/Фильтр/Фильтр
по выделенному
або
натиснути кнопку
.
Видалити
фільтр
–
(команда
Записи/Удалить
фильтр).
Використовуючи фільтр по виділеному у таблиці Магазин показати всі накладні, крім накладної із номером 1002.
Виділити число 1002 у полі Накладна та виконати команду меню Записи/Фильтр/Исключить выделенное. Видалити фільтр.
У таблиці Магазин знайти всі записи із кодом товару – 22.
Встановити
курсор у поле Код
товару
та виконати команду меню Найти
або натиснути кнопку
:
у рядку Образец
ввести
22,
у
рядку Поиск
в вибрати
код
товару,
у рядку Совпадение
обрати
Поля
целиком.
Натискати кнопку Найти
далее
для
пошуку всіх записів. Закрити вікно.
Закрити таблицю.
У таблиці Постачальник знайти інформацію про підприємство з назвою “Зоря”.
Відкрити таблицю Постачальник. Натиснути кнопку : у рядку Образец ввести Зоря, у рядку Поиск в вибрати постачальник: таблиця, у рядку Совпадение обрати С любой частью поля. Натискати кнопку Найти далее для пошуку всіх записів. Закрити вікно. Закрити таблицю.
У таблиці Товар знайти записи, у яких назва товару починається з літери “п”.
Відкрити таблицю Товар. Встановити курсор у поле Товар. Натиснути кнопку : у рядку Образец ввести п, у рядку Поиск в вибрати товар, у рядку Совпадение обрати С начала поля. Натискати кнопку Найти далее для пошуку всіх записів. Закрити вікно. Закрити таблицю.
Використовуючи звичайний фільтр у таблиці Магазин знайти записи, у яких ціна одиниці товару більша 200 грн.
Відкрити
таблицю Магазин.
Виконати
команду меню Записи/Фильтр/Изменить
фильтр або
натиснути
кнопку
.
У таблиці для поля Ціна
ввести умову >200.
Виконати
фільтр
–
.
Видалити
фільтр
–
.
Використовуючи звичайний фільтр у таблиці Магазин знайти записи про товар, який був отриманий в період з 06.06.2004 по 10.10.2004 від постачальника із кодом 93.
Натиснути
кнопку
.
Очистіть бланк фільтру – натисніть
кнопку
.
У таблиці для поля Дата
ввести умову Between
#06.06.2004# And
#10.10.2004#.
Для
поля Постачальник
із
списку обрати 93.
Виконати
фільтр
–
.
Видалити
фільтр –
.
Використовуючи звичайний фільтр у таблиці Магазин знайти записи про товари, які були отримані від постачальників із кодом 93 або 97, та обсяг партії лежить у межах від 100 до 200 включно.
Натиснути кнопку . Очистіть бланк фільтру – натисніть кнопку . У таблиці для поля Обсяг партії ввести умову Between 100 And 200, для поля Постачальник із списку обрати 93. Внизу вікна вибрати вкладнику ИЛИ. У таблиці для поля Обсяг партії ввести умову Between 100 And 200, для поля Постачальник із списку обрати 97. Виконати фільтр – . Видалити фільтр – . Закрити таблицю.
Створити запит про надходження товару, назва якого починається з літери “п”. У запиті відобразити номер накладної, дату надходження товару, його назву та ціну.
У вікні База данных перейти на вкладку Запросы: натиснути Создать→ Конструктор→ОК. У вікні Добавление таблицы вибрати таблицю Магазин і натиснути кнопку Добавить. За аналогією додати таблицю Товар. Закрити вікно Добавление таблицы.
У вікні конструктора (рис. 7) перетягніть зі списку полів таблиці Магазин поля накладна, ціна і дата, зі списку полів таблиці Товар – поле товар.
Задати умови запиту:
В рядку Условие отбора по полю товар ввести: Like “п*”
Рис. 7. Запит 1 в режимі конструктор
Виконати
запит, натиснувши
на панелі конструктора запитів кнопку
Запуск,
чи
кнопку
Вид.
Результат:
Зберегти
запит, натиснувши
кнопку
Сохранить
і задати назву запиту “товар
П”.
Закрити поточний
запит командою меню Файл/Закрыть
чи,
натиснути
кнопку вікна запиту
Закрити.
Відібрати всі накладні, оформлені в заданому місяці червень (7) та заданому році (2004).
Виконати: Запросы→Создать→Конструктор→ОК. У вікні Добавление таблицы вибрати таблицю Магазин→Добавить. Закрити вікно Добавление таблицы.
У вікні конструктора (рис. 8) перетягнути зі списку полів таблиці Магазин поля накладна, дата. В наступному порожньому полі побудувати розрахунковий вираз: встановити в порожньому полі курсор та натиснути кнопку на панелі інструментів. У вікні Построитель выражений вибрати Функции→Встроенные функции→Дата/время, двічі натиснути –Month, виділити <<number>>. Вибрати Таблицы→Магазин→дата. В результаті повинний бути створений такий вираз: Month([магазин]![дата]). Завершити побудову виразу – ОК.
Замінити назву виразу Выражение1 на Місяць. Для цього виділити до двокрапки стару назву та з клавіатури ввести нову. Для поля задати умову відбору – 7.
В наступному порожньому полі за аналогією побудувати розрахунковий вираз: Year ( [магазин]![дата] ). Задати назву виразу – Рік., умову відбору – 2004.
Рис. 8. Вікно конструктора запиту на створення розрахункового поля
Виконати запит – натиснути кнопку . Результат:
Зберегти запит – натиснути кнопку Сохранить і задати назву запиту “Місяць липень”. Закрити запит – .
Обчислити загальну вартість кожного товару, який надійшов за певний термін часу (з 1/06/2004 по 31/12/2004).
Створити новий запит та у режимі Конструктор додати необхідні таблиці та поля з них (рис. 9). В новому полі за допомогою будівника виразів створити розрахунковий вираз:
Выражение 1: [ціна] * [обсяг_партії].
Поле Выражение 1 перейменувати на Сума.
Для поля Дата задати умову: Between #1/01/2004# and #31/12/2004#.
Рис. 9. Запит Сума в режимі конструктора
Виконати запит – . Результат:
Зберегти запит – та задата назву “Сума”. Закрити поточний запит – .
Створити запит з параметром для відбору записи за вказаним кодом товару. У запиті показати номер накладної, дату, назву товару, обсяг партії та ціну, код товару на екрані не відображати. Записи впорядкувати за зростанням обсягу партії товару.
Створити новий запит та у режимі Конструктор додати необхідні таблиці та поля з них (рис. 10).
По полю Код товару в Условии отбора вводимо (рис. 10):
[Введіть код товару].
Для поля Код товару вимикаємо перемикач Вывод на экран.
Для поля Обсяг партії у рядку Сортировка зі списку обрати – по возрастанию.
Рис. 10. Запит з параметром в режимі Конструктор
Виконати запит – . З’явиться діалогове вікно для введення параметру – коду товару. Вводимо 22.
Зберегти запит із назвою Код товару та закрити його.
Результат:
Перетворіть створений раніше запит “Місяць липень” так, щоб пошук виконувався для будь-якого року та місяця.
На вкладинці Запросы виділити запит Місяць липень та натиснути Конструктор.
Для поля Місяць в рядок Условие отбора ввести параметр [Введіть номер місяця].
Для поля Рік в рядок Условие отбора ввести параметр [Введіть рік].
Зберегти запит. Виконати запит. У діалогові вікна ввести наприклад номер місяця – 9, рік – 2004. Переглянути результати та закрити запит.
Підрахувати середній обсяг партій товару в залежності від коду товару на протязі визначеного терміну. Умови відбору сформувати за допомогою параметрів.
Створити новий запит. Додати таблиці Магазин та Товар. У бланк запиту додати поле Товар з таблиці Товар та поля Обсяг партії і Дата з таблиці Магазин.
Натиснути кнопку Групповая операция.
Для поля Обсяг партії у рядку Групповая операція зі списку обрати функцію Avg.
Для поля Дата у рядку Групповая операція зі списку обрати значення Условие та у рядку Условие отбора ввести умову: Between [Введіть дату початку терміну] and [Введіть дату завершення терміну]
Рис. 11. Запит з груповою операцією розрахунку середнього значення
Для обмеження точності результату двома знаками у розрахунковому полі Обсяг партії з контекстного меню обрати команду Свойства та у вікні Свойства поля у рядку Формат поля вибрати значення Фиксированный, Число десятичных знаков - 2.
Виконати запит. У діалогові вікна ввести наприклад: дата початку – 1/07/2004 та дата завершення – 1/10/2004. Результат:
Зберегти запит під назвою “Середній обсяг партії”. Закрити запит.
Визначити фактичну кількість накладних по кожному постачальнику.
Створити новий запит та додати таблиці Магазин та Постачальник. З таблиці Постачальник в бланк запиту додати Назва, з таблиці Магазин –Накладна.
Переглянути
відібрані записи – кнопка Вид
.
Для кожного постачальника маємо
повторювані записи, тому що в накладній
може бути декілька товарів, а для кожного
товару в таблиці відведений окремий
запис.
Для виникнення повторень натиснути кнопку Групповая операция та згрупувати записи за назвою постачальника та за номером накладної.
Переглянути відібрані записи – кнопка Вид . Тепер для постачальників вказані неповторювані номери накладних.
Зберегти запит під назвою Кількість накладних-підготовка.
У таблиці запиту Кількість накладних-підготовка кількість накладних за постачальником визнається кількістю записів із його назвою. Тому для отримання остаточного результату необхідно створити новий запит на основі вже створеного.
Рис. 12. Запит з груповою операцією підрахунку кількості накладних по кожному постачальнику
Для цього створити новий запит та у вікні додавання таблиць вибрати запит Кількість накладних-підготовка.
У бланк запиту двічі додати поле Назва. Натиснути кнопку Групповая операция та згрупувати записи за першим полем Назва, для другого поля Назва у рядку Групповая операция обрати функцію Count –кількість. Бланк запиту буде виглядати так, як показано рис. 12.
Виконати запит. Результат:
Зберегти запит під назвою “Кількість накладних”. Закрити запит.
Сформувати запит на створення таблиці на основі раніше отриманого запиту на вибірку з груповими обчисленнями “Середній обсяг партії”.
Відкрити
запит “Середній
обсяг
партії”
у
режимі конструктора. Для перетворення
запиту на панелі конструктора у списку
Тип
запроса
вибрати Создание
таблицы.
У
вікні
Создание
таблицы
ввести
назву
створюваної
таблиці “Середній
обсяг
партії
товару”
(рис.
13).
Запит зберегти.
Рис. 13. Визначення назви таблиці, що створюється у запиті
Для
перегляду
записів,
які
будуть поміщені в нову таблицю, натиснути
кнопку Вид
панелі
інструментів.
Зберегти
та закрити запит. Для створення таблиці
Середній
обсяг
партії
товару
запит
виконати.
Для перегляду створеної таблиці, у
вікні
БД
перейти на вкладинку Таблицы,
вибрати
таблицю Середній
обсяг партії
товару
та
відкрити.
Закрити таблицю.
Завдання для самостійної роботи
У відповідності із індивідуальним завданням в лабораторній роботі №9, використовуючи власні бази даних виконати:
сортування записів за різними критеріями;
за допомогою різних фільтрів вибрати дані;
розробити 5 запити – запит на вибірку, запит з параметром, запит на створення таблиці, оновлення, з груповою операцією.;
Контрольні запитання:
Що таке запит? Що можна зробити за допомогою запиту?
Які типи запитів ви знаєте?
Назвіть способи створення запитів.
Як задаються прості і складні умови? Наведіть приклади.
Як створити запит з параметрами?
Для чого використовується вікно “Построитель выражений”? Наведіть приклади застосування статистичних функцій списку “Групповая операция”.
Як здійснити сортування даних за декількома полями в запиті?
Які записи вважаються групою? Яким чином здійснюється групування записів?
Для чого призначені фільтри та чим вони відрізняються від запитів?
Які дії слід виконати, щоб створити запит на створення таблиці?
