Запити на вибірку в Access

У найпростішому випадку запит реалізує вибір з однієї таблиці потрібних полів, записів, які відповідають заданим умовам відбору, і перегляд результатів виконання запиту.

Розглянемо запити на вибірку в Access на прикладі отримання інформації з таблиці ТОВАР бази даних Поставка товарів.

Завдання 1. Нехай необхідно вибрати ряд характеристик товару по його найменуванню.

  1. Для створення запиту у вікні бази даних виберіть вкладку стрічки - Створення (Create) і в групі Запити (Queries) натисніть кнопку Конструктор запитів (Query Design). Відкриється порожній вікно запиту на вибірку в режимі конструктора - ЗапросN (QueryN) і діалогове вікно Додавання таблиці (Show Table) (рис. 4.2).
  2. У вікні Додавання таблиці (Show Table) виберіть таблицю ТОВАР і натисніть кнопку Додати (Add). Обрана таблиця буде відображена в області схеми даних запиту. Закрийте вікно Додавання таблиці (Show Table), натиснувши кнопку Закрити (Close).

В результаті виконаних дій у вікні конструктора запитів (рис. 4.1) у верхній панелі з'явиться схема даних запиту, яка включає вибрані для даного запиту таблиці. В даному випадку одну таблицю ТОВАР. Таблиця представлена ​​списком полів. Перший рядок у списку полів таблиці, зазначена зірочкою (*), позначає все безліч полів таблиці. Нижня панель є бланком запиту, який потрібно заповнити.

Крім того, на стрічці з'являється і автоматично активізується нова вкладка Робота з запитами | Конструктор (Query Tools | Design) (на рис. 4.3 представлена на частину цієї вкладки), на якій кольором виділено тип створеного запиту - Вибірка (Select). Таким чином, за замовчуванням завжди створюється запит на вибірку. Команди цієї вкладки представляють інструментарій для виконання необхідних дій при створенні запиту. Ця вкладка відкривається, коли в режимі конструктора створюється новий запит або редагується існуючий.

  1. Для видалення будь-якої таблиці зі схеми даних відповідний запит на неї курсор миші і натисніть клавішу <Delete>. Для оновлення - натисніть кнопку Показати таблицю (Show Table) в групі Налаштування запиту (Query Setup) на вкладці Робота з запитами | Конструктор (Query Tools | Design) або виконайте команду Додати таблицю (Show Table) в контекстному меню, що викликається на схемі даних запиту.
  2. У вікні конструктора (рис. 4.4) послідовно перетягніть зі списку полів таблиці ТОВАР поля НАІМ_ТОВ, ЦІНА, НАЛІЧІЕ_ТОВ в стовпці бланка запиту в рядок Поле (Field).
  3. Для включення потрібних полів з таблиці в відповідні стовпці запиту можна скористатися наступними прийомами:
    • в першому рядку бланка запиту Поле (Field) клацанням миші викликати появу кнопки списку і вибрати зі списку потрібне поле. Список містить поля таблиць, представлених в схемі даних запиту;
    • двічі клацнути на імені поля таблиці в схемі даних запиту;
    • для включення всіх полів таблиці можна перетягнути або двічі клацнути на символі * (зірочка) в списку полів таблиці в схемі даних запиту.
  4. Якщо ви помилково перетягнули в бланку запиту непотрібне поле, видаліть його. Для цього перемістіть курсор в область маркування стовпця зверху, де він набуде вигляду чорної стрілки, спрямованої вниз, і клацніть кнопкою миші. Стовпець виділиться. За допомогою клавіш <Delete> або виконайте команду Видалити стовпці (Delete Columns) в групі Налаштування запиту (Query Setup).
  5. У рядку Вивід на екран (Show) відзначте поля, інакше вони не будуть включені в таблицю запиту.
  6. Запишіть в рядку Умови відбору (Criteria) найменування товару, як показу-но в бланку запиту на рис. 4.4. Так як вираз в умови відбору не містить оператора, то за замовчуванням використовується оператор =. Що використовується в вираженні текстове значення вводиться в подвійних лапках, які додаються автоматично.
  7. Виконайте запит, клацнувши на кнопці Виконати (Run) або на кнопці Режим (View) в групі Результати (Results). На екрані з'явиться вікно запиту в режимі таблиці з записом з таблиці ТОВАР, що відповідає заданим умовам відбору.

На екрані з'явиться вікно запиту в режимі таблиці з записом з таблиці ТОВАР, що відповідає заданим умовам відбору

ЗАУВАЖЕННЯ
Вікно запиту в режимі таблиці аналогічно вікну перегляду таблиці бази даних. Через деякі таблиці запиту може проводитися зміна даних базової таблиці, що лежить в основі запиту. Запит, що переглядається в режимі таблиці, на відміну від таблиці бази даних Access 2010 не має стовпці Клацнути для додавання (Click to Add), призначеного для зміни структури таблиці. У цьому режимі на вкладці стрічки Головна (Home) доступні ті ж кнопки, що і при відкритті таблиці бази даних.

  1. Якщо при введенні складного найменування товару ви допустили неточність, товар не буде знайдений у таблиці. Використання операторів шаблону - зірочка (*) і знак питання (?) (Стандарт ANSI-89, який використовується для запитів за замовчуванням) або знак відсотка (%) і підкреслення (_) (ANSI-92, рекомендований як стандарт для SQL Server), спрощує пошук потрібних рядків і дозволяє уникнути багатьох помилок. Надрукуйте повного імені товару Корпус * або Корпус%. Виконайте запит. Якщо в поле найменування товару одне значення починається зі слова «Корпус», результат виконання запиту буде таким же, як в попередньому випадку. Після виконання запиту введене вираз буде доповнено оператором Like «Корпус *». Цей оператор дозволяє використовувати спеціальні символи при пошуку в текстових полях.
  2. Якщо необхідно знайти кілька товарів, використовуйте оператор In. Він дозволяє виконати перевірку на рівність будь-якому значенню зі списку, який задається в круглих дужках. Запишіть в рядку умов відбору In ( «корпуc MiniTower»; »HDD Maxtor 20GB»; »FDD 3,5"). У таблиці запиту буде виведено три рядки. В операторі In не допускається використовувати спеціальні символи.
  3. Збережіть запит, клацнувши на вкладці Файл (File) і виконавши команду Зберегти (Save). У вікні Збереження (Save As) введіть ім'я запиту Приклад 1. Зауважимо, що ім'я запиту не повинно збігатися не тільки з іменами наявних запитів, але і з іменами таблиць в базі даних.
  4. Закрийте поточний запит по команді контекстного меню Закрити (Close) або натиснувши кнопку вікна запиту Закрити (Close).
  5. Виконайте збережений запит, виділивши запит в області навігації і вибравши в контекстному меню команду Відкрити (Open).
  6. Для редагування запиту виділіть його в області навігації і виконайте в контекстному меню команду Конструктор (Design View).

Завдання 2. Нехай треба вибрати товари, ціна яких не більше 1000 руб., І ПДВ не більше 10%, а також вибрати товари, ціна яких більше 2500 руб. Результат повинен містити найменування товару (НАІМ_ТОВ), його ціну (ЦІНА) і ПДВ (СТАВКА_НДС).

  1. Створіть новий запит в режимі конструктора, додайте таблицю ТОВАР. У вікні конструктора (рис. 4.5) послідовно перетягніть зі списку полів таблиці ТОВАР в бланк запиту поля НАІМ_ТОВ, ЦІНА, СТАВКА_НДС.
  2. Запишіть Умови відбору (Criteria), як показано в бланку запиту на рис. 4.5. Між умовами, записаними в одному рядку, виконується логічна операція AND. Між умовами, записаними в різних рядках, виконується логічна операція OR.
  3. Виконайте запит, клацніть на кнопці Виконати (Run) в групі Результати (Results). На екрані з'явиться вікно запиту в режимі таблиці з записами з таблиці ТОВАР, що відповідають заданим умовам відбору.
  4. Збережіть запит, виконавши відповідну команду в контекстному меню запиту, яке викликається при установці курсора на заголовок запиту. Дайте йому ім'я Приклад 2.

Завдання 3

Завдання 3. Нехай треба вибрати всі накладні за заданий період. Результат повинен містити номер накладної (НОМ_НАК), код складу (КОД_СК), дату відвантаження (ДАТА_ОТГР) і загальну вартість відвантаженого товару (СУММА_НАКЛ).

  1. Створіть новий запит в режимі конструктора, додайте таблицю НАКЛАДНА. У вікні конструктора послідовно перетягніть зі списку полів таблиці НАКЛАДНА в бланк запиту всі необхідні поля.
  2. Для поля ДАТА_ОТГР в рядку Умови відбору (Criteria) запишіть Between # 11.01.2008 # And # 31.03.2008 #. Оператор Between задає інтервал дат (в ANSI-92 замість знака # використовуються одинарні лапки '). Крім того, цей оператор дозволяє задати інтервал для числового значення.

Для закріплення дивимося видеоурок:

Обчислювані поля в запитах Access далі .

Новости