Запити на вибірку в Access
У найпростішому випадку запит реалізує вибір з однієї таблиці потрібних полів, записів, які відповідають заданим умовам відбору, і перегляд результатів виконання запиту.
Розглянемо запити на вибірку в Access на прикладі отримання інформації з таблиці ТОВАР бази даних Поставка товарів.
Завдання 1. Нехай необхідно вибрати ряд характеристик товару по його найменуванню.
- Для створення запиту у вікні бази даних виберіть вкладку стрічки - Створення (Create) і в групі Запити (Queries) натисніть кнопку Конструктор запитів (Query Design). Відкриється порожній вікно запиту на вибірку в режимі конструктора - ЗапросN (QueryN) і діалогове вікно Додавання таблиці (Show Table) (рис. 4.2).
- У вікні Додавання таблиці (Show Table) виберіть таблицю ТОВАР і натисніть кнопку Додати (Add). Обрана таблиця буде відображена в області схеми даних запиту. Закрийте вікно Додавання таблиці (Show Table), натиснувши кнопку Закрити (Close).
В результаті виконаних дій у вікні конструктора запитів (рис. 4.1) у верхній панелі з'явиться схема даних запиту, яка включає вибрані для даного запиту таблиці. В даному випадку одну таблицю ТОВАР. Таблиця представлена списком полів. Перший рядок у списку полів таблиці, зазначена зірочкою (*), позначає все безліч полів таблиці. Нижня панель є бланком запиту, який потрібно заповнити.
Крім того, на стрічці з'являється і автоматично активізується нова вкладка Робота з запитами | Конструктор (Query Tools | Design) (на рис. 4.3 представлена на частину цієї вкладки), на якій кольором виділено тип створеного запиту - Вибірка (Select). Таким чином, за замовчуванням завжди створюється запит на вибірку. Команди цієї вкладки представляють інструментарій для виконання необхідних дій при створенні запиту. Ця вкладка відкривається, коли в режимі конструктора створюється новий запит або редагується існуючий.
- Для видалення будь-якої таблиці зі схеми даних відповідний запит на неї курсор миші і натисніть клавішу <Delete>. Для оновлення - натисніть кнопку Показати таблицю (Show Table) в групі Налаштування запиту (Query Setup) на вкладці Робота з запитами | Конструктор (Query Tools | Design) або виконайте команду Додати таблицю (Show Table) в контекстному меню, що викликається на схемі даних запиту.
- У вікні конструктора (рис. 4.4) послідовно перетягніть зі списку полів таблиці ТОВАР поля НАІМ_ТОВ, ЦІНА, НАЛІЧІЕ_ТОВ в стовпці бланка запиту в рядок Поле (Field).
- Для включення потрібних полів з таблиці в відповідні стовпці запиту можна скористатися наступними прийомами:
- в першому рядку бланка запиту Поле (Field) клацанням миші викликати появу кнопки списку і вибрати зі списку потрібне поле. Список містить поля таблиць, представлених в схемі даних запиту;
- двічі клацнути на імені поля таблиці в схемі даних запиту;
- для включення всіх полів таблиці можна перетягнути або двічі клацнути на символі * (зірочка) в списку полів таблиці в схемі даних запиту.
- Якщо ви помилково перетягнули в бланку запиту непотрібне поле, видаліть його. Для цього перемістіть курсор в область маркування стовпця зверху, де він набуде вигляду чорної стрілки, спрямованої вниз, і клацніть кнопкою миші. Стовпець виділиться. За допомогою клавіш <Delete> або виконайте команду Видалити стовпці (Delete Columns) в групі Налаштування запиту (Query Setup).
- У рядку Вивід на екран (Show) відзначте поля, інакше вони не будуть включені в таблицю запиту.
- Запишіть в рядку Умови відбору (Criteria) найменування товару, як показу-но в бланку запиту на рис. 4.4. Так як вираз в умови відбору не містить оператора, то за замовчуванням використовується оператор =. Що використовується в вираженні текстове значення вводиться в подвійних лапках, які додаються автоматично.
- Виконайте запит, клацнувши на кнопці Виконати (Run) або на кнопці Режим (View) в групі Результати (Results). На екрані з'явиться вікно запиту в режимі таблиці з записом з таблиці ТОВАР, що відповідає заданим умовам відбору.
ЗАУВАЖЕННЯ
Вікно запиту в режимі таблиці аналогічно вікну перегляду таблиці бази даних. Через деякі таблиці запиту може проводитися зміна даних базової таблиці, що лежить в основі запиту. Запит, що переглядається в режимі таблиці, на відміну від таблиці бази даних Access 2010 не має стовпці Клацнути для додавання (Click to Add), призначеного для зміни структури таблиці. У цьому режимі на вкладці стрічки Головна (Home) доступні ті ж кнопки, що і при відкритті таблиці бази даних.
- Якщо при введенні складного найменування товару ви допустили неточність, товар не буде знайдений у таблиці. Використання операторів шаблону - зірочка (*) і знак питання (?) (Стандарт ANSI-89, який використовується для запитів за замовчуванням) або знак відсотка (%) і підкреслення (_) (ANSI-92, рекомендований як стандарт для SQL Server), спрощує пошук потрібних рядків і дозволяє уникнути багатьох помилок. Надрукуйте повного імені товару Корпус * або Корпус%. Виконайте запит. Якщо в поле найменування товару одне значення починається зі слова «Корпус», результат виконання запиту буде таким же, як в попередньому випадку. Після виконання запиту введене вираз буде доповнено оператором Like «Корпус *». Цей оператор дозволяє використовувати спеціальні символи при пошуку в текстових полях.
- Якщо необхідно знайти кілька товарів, використовуйте оператор In. Він дозволяє виконати перевірку на рівність будь-якому значенню зі списку, який задається в круглих дужках. Запишіть в рядку умов відбору In ( «корпуc MiniTower»; »HDD Maxtor 20GB»; »FDD 3,5"). У таблиці запиту буде виведено три рядки. В операторі In не допускається використовувати спеціальні символи.
- Збережіть запит, клацнувши на вкладці Файл (File) і виконавши команду Зберегти (Save). У вікні Збереження (Save As) введіть ім'я запиту Приклад 1. Зауважимо, що ім'я запиту не повинно збігатися не тільки з іменами наявних запитів, але і з іменами таблиць в базі даних.
- Закрийте поточний запит по команді контекстного меню Закрити (Close) або натиснувши кнопку вікна запиту Закрити (Close).
- Виконайте збережений запит, виділивши запит в області навігації і вибравши в контекстному меню команду Відкрити (Open).
- Для редагування запиту виділіть його в області навігації і виконайте в контекстному меню команду Конструктор (Design View).
Завдання 2. Нехай треба вибрати товари, ціна яких не більше 1000 руб., І ПДВ не більше 10%, а також вибрати товари, ціна яких більше 2500 руб. Результат повинен містити найменування товару (НАІМ_ТОВ), його ціну (ЦІНА) і ПДВ (СТАВКА_НДС).
- Створіть новий запит в режимі конструктора, додайте таблицю ТОВАР. У вікні конструктора (рис. 4.5) послідовно перетягніть зі списку полів таблиці ТОВАР в бланк запиту поля НАІМ_ТОВ, ЦІНА, СТАВКА_НДС.
- Запишіть Умови відбору (Criteria), як показано в бланку запиту на рис. 4.5. Між умовами, записаними в одному рядку, виконується логічна операція AND. Між умовами, записаними в різних рядках, виконується логічна операція OR.
- Виконайте запит, клацніть на кнопці Виконати (Run) в групі Результати (Results). На екрані з'явиться вікно запиту в режимі таблиці з записами з таблиці ТОВАР, що відповідають заданим умовам відбору.
- Збережіть запит, виконавши відповідну команду в контекстному меню запиту, яке викликається при установці курсора на заголовок запиту. Дайте йому ім'я Приклад 2.
Завдання 3. Нехай треба вибрати всі накладні за заданий період. Результат повинен містити номер накладної (НОМ_НАК), код складу (КОД_СК), дату відвантаження (ДАТА_ОТГР) і загальну вартість відвантаженого товару (СУММА_НАКЛ).
- Створіть новий запит в режимі конструктора, додайте таблицю НАКЛАДНА. У вікні конструктора послідовно перетягніть зі списку полів таблиці НАКЛАДНА в бланк запиту всі необхідні поля.
- Для поля ДАТА_ОТГР в рядку Умови відбору (Criteria) запишіть Between # 11.01.2008 # And # 31.03.2008 #. Оператор Between задає інтервал дат (в ANSI-92 замість знака # використовуються одинарні лапки '). Крім того, цей оператор дозволяє задати інтервал для числового значення.
Для закріплення дивимося видеоурок:
Обчислювані поля в запитах Access далі .