logo search
ОБД 5 семестр

Теоретичні відомості: Створення та використання запитів

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

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

Однак система Access2000 має значно ширші можливості з пошуку різних відомостей з бази даних. Розглянемо спочатку спосіб реалізації запитів, який в даній системі називаєтьсяПростой запрос. Хоч цей спосіб і має назву простого, він, з одного боку, найуживаніший, а з другого знаючи принципи його реалізації, можна досить легко самостійно розібратися і в інших способах. Цей спосіб реалізується майстромПростой запрос.

Майстер Простой запрос дозволяє із зв'язаних таблиць бази даних отримати нову таблицю, в яку включені окремі поля різних таблиць. Наприклад, із зв'язаних таблицьСписок і Консультация можна отримати запит у вигляді таблиці з іменемСведения, в якій будуть знаходитися поляФио, Предмет, Стаж і Оклад таблиціСписок і полеДень таблиціКонсультация.Після цього із запитуСведения можна отримати конкретні дані.

Для більшої наочності викладення роботу програми будемо розглядати в такій послідовності.

1. Запускаємо майстра простих запитів. Для цього у вікніБаза данных необхідно натиснути на пункт ЗапитиЗапросы на панелі об’єктів, потім на панелі інструментів натиснути кнопкуСоздать, вибратиПростой запрос і клацнути кнопкуОК. На екрані з'явиться вікноСоздание простых запросов, зображене на мал. 36.

Малюнок 36

2. Далі необхідно відкрити список таблиць у вікні таблиці Запросы і виділити ту з них, у якій необхідно вибирати відповідні поля. Потім ці поля потрібно перенести в таблицю вибраних. Аналогічні операції виконуються і з іншими таблицями.

Для прикладу, що розглядається, в область вибраних з таблиці Список переносяться поля Фио, Предмет, Стаж і Оклад, а з таблиці Консультация - поле День.

3. Потім необхідно натиснути кнопку Далее. У результаті вміст вікна Создание простых запросов зміниться і набере вигляду, показаного на мал. 37.

  1. З двох перемикачів Подробный і Итоговый включаємо Подробный і натискаємо кнопку Далее. З'явиться вікно, показане на мал. 38.

5. Введемо ім'я запиту Сведения і натиснемо кнопку Готово. У результаті на екрані з'явиться запит з іменем Сведения, показаний на мал. 39.

Зверніть увагу, що у цю таблицю введені саме ті поля двох перших таблиць, які ми зазначили вище.

Малюнок 37

Малюнок 38

Тепер з отриманої таблиці зробимо конкретний вибір, а саме - запит про вибір математиків, які консультують у вівторок.

Малюнок 39

Малюнок 40

Для цього закриємо таблицю, зображену на мал. 39. З'явиться вікно База даних. У ньому виділимо Сведения і натиснемо кнопку Конструктор. На екрані з'явиться вікно Запрос на выборку, зображене на мал. 40.

У рядку Условие отбора у полі Предмет введемо - Математика, а у цьому самому рядку в полі День - Вторник. Після цього на панелі інструментів натиснемо кнопку зі знаком оклику. На екрані з'явиться таблиця, показана на мал. 41.

Малюнок 41

Малюнок 42

Спробуйте тепер самостійно виконати такі завдання. Знищить таблицю Сведения і створіть її знову, тобто отримайте ту таблицю, яка зображена на мал. 39. Запустіть Конструктор та введіть у рядку Условие отбора у полі Оклад число 250 зі знаком менше (<250), а в полі Стаж - число більше за 7 (>7). Якщо ви виконали все правильно, то отримаєте таблицю, зображену на мал. 42.

Нагадаємо, що розглянута методика виконання простого запиту здійснювалась з урахуванням того, що на мал. 37 був ввімкнений перемикач Подробний. Розглянемо тепер порядок створення запиту при увімкненому перемикачі Итоговый ... .

Створення підсумкового запиту буде розглядатися на прикладі бази даних з іменем Basa3, у якому зберігається наступна таблиця з іменем Сессия:

№ п/п

Фио

Предмет

Оценка

Дата

1

2

3

4

5

6

Вахно А.А.

Бирюзов И.И.

Вахно А.А.

Бирюзко Б.Б.

Бирюзко Б.Б.

Вахно А.А.

Математика

Математика

Физика

Математика

Химия

Химия

3

5

3

5

4

3

14.07.97

14.07.97

20.07.97

14.07.97

25.07.97

25.07.97

Створимо запит Сессия 1, у який включимо поля, Фио, Оценка.

Процес створення запиту починаємо так само, як це робили раніше. Коли з'явиться вікно, зображене на мал. 37, вмикаємо перемикач Итоговый, потім натискаємо кнопку Итоги ... . У результаті з'явиться вікно, зображене на мал. 43.

Малюнок 43

Зверніть увагу, що в цьому вікні показано тільки числове поле. Необхідно ввімкнути прапорці для тих полів, для яких необхідно отримати підсумкові значення. Вмикаємо, наприклад, для поля Оценка пропарець у колонці Sum. Після цього натискаємо кнопку ОК. З'явиться знову вікно, зображене на мал. 37, у якому необхідно натиснути кнопку Далее.

У вікні, яке відкриється, введемо ім'я запиту Сессия 1 і натиснемо кнопку Готово. З'явиться вікно (мал. 44), у якому зображена ця таблиця-запит.

Малюнок 44

Закриємо тепер таблицю-запит Сессия 1, виділимо її у вікні бази даних і натиснемо кнопку Конструктор. З'явиться вікно, зображене на мал. 45.Це вікно дозволяє сформувати нові запити. У цьому вікні на відміну від вікна, яке показане на мал. 36, є ще рядок Групповая операция. Під груповою операцією розуміємо обробку значень даного поля за допомогою певної операції. Цей рядок використовують для виклику списка доступних операцій для кожного поля і для вибору з нього необхідного. Для цього курсор миші встановлюють у рядок Групповая операция в колонку відповідного поля і клацають клавішею миші.

Малюнок 45

Припустимо, що необхідно підрахувати - скільки разів зустрічається кожне прізвище у таблиці Сессия 1. Для цього потрібно створити у вікні, зображеному на мал. 45, ще одне поле з іменем Фио та вибрати для нього групову операцію Count (підрахунок). Після цього на панелі інструментів потрібно натиснути кнопку зі знаком оклику і на екрані з'явиться бланк-запит, зображений на мал. 46.

Малюнок 46

У системі Access є також можливість пошуку інформації, використовуючи логічні вирази. Створення цих виразів здійснюється за допомогою програми, яку називають Построитель выражений. Ця програма створює нову таблицю, зміст якої відповідає заданому виразу.

Роботу програми Построитель выражений будемо розглядати на прикладі таблиці-запиту Сведения. Для запуску програми необхідно викликати контекстне меню рядка Условия выбора (див. мал. 40). У цьому меню потрібно виконати команду Построить... . У результаті з'явиться вікно Построитель выражений, зображене на мал. 47.

Малюнок 47

Це вікно складається з чотирьох частин. Верхню частину використовують для введення логічного виразу. Тут розташовані також кнопки управління вікном, кнопки зі знаком математичних операцій та логічних операцій. Ці знаки переносяться у вираз, який створюється, клацанням на них клавішею миші.

Троє нижніх вікон використовують для вибору елементів, які у них знаходяться. Ліворуч розташовані об'єкти бази даних: таблиці, запити та ін., а також функції, константи і оператори, які можуть бути використані у виразі.

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

Праву нижню частину вікна використовують для вибору конкретних значень тих об'єктів, які вказані в середній частині.

У разі конструювання логічних виразів потрібно дотримуватися певних правил. Основні з них: ім'я об'єкта бази даних (наприклад ім'я таблиці) відокремлюється від імені поля знаком оклику; імена беруться у квадратні дужки; дані символьного типу беруться у лапки. При цьому, якщо ви не самі набираєте вказані об'єкти та значення, а вибираєте їх з тих, які показані у вікні, то Access сама дотримується правил синтаксису.

Приступимо тепер до конструювання виразів (див. мал. 47). Введемо такий вираз:

[Предмет] = Математика And [День] = Вторник

Коли набрали весь вираз, натискаємо кнопку ОК. З'явиться вікно запиту (див. мал. 41). Його необхідно закрити і підтвердити необхідність збереження структури. У результаті з'явиться вікно бази даних. Відкрийте таблицю запит Сведения і ви переконаєтесь, що на екрані буде та сама інформація, яка показана на мал. 41.

Створіть тепер ще раз таблицю-запит Сведения в її початковому вигляді і викличте вікно Построитель выражений (див. мал. 47). Після цього введіть такий логічний вираз:

[Оклад]<250 And [Стаж]>7

Звертаємо вашу увагу на те, що після математичних знаків (у даному випадку після знаків більше чи менше) не повинно бути пропусків. Інакше числові константи будуть сприйматися як текстові.

Якщо ви не допустили помилок, то на екрані отримаєте ту саму інформацію, яка наведена на мал. 42.

Окрім розглянутих способів пошуку інформації в базі даних може використовуватися Мастер перекресных запросов для побудови таблиць з підрахованими підсумковими значеннями і Мастер повторяющихся записей для групування записів з однаковими значеннями полів.