Інформація про новину
  • Переглядів: 244
  • Дата: 5-02-2022, 15:22
5-02-2022, 15:22

28. Запити в Access

Категорія: Інформатика





Попередня сторінка:  27. Сортування та фільтрація даних в Acces...
Наступна сторінка:   29. Практична робота 7. «Створення запит...

28.1.

Створення та редагування запитів

Для пошуку інформації за заданою умовою ми використовували фільтри. Проте фільтри не можна зберегти як окрему таблицю для довготривалого використання. Для пошуку та збереження інформації за заданою умовою використовують запити. Саме про них і піде мова в даному параграфі.

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

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

Для створення запитів можна використовувати вбудований конструктор, подібний до конструктора розширених фільтрів. Так, на рис. 28.1 наведено конструктор створення запиту, що має вивести інформацію про назву та автора книжок, що були видані у 2017 році. Розглянемо процес створення такого запиту, виконавши вправу.

ВПРАВА 28.1

Завдання. Створити запити у базі даних Інтернет-магазин.

Запит 1. Вивести назву та автора книжок, які було видано у 2017 році.

1. Відкрийте базу даних Інтернет-магазин.

2. На вкладці Створення оберіть інструмент Макет запиту — в результаті має відкритися вікно Відображення таблиці.

3. Оберіть таблицю Книжки та натисніть кнопки Додати та Закрити. В результаті таблицю буде додано до конструктора.

4. Додайте до конструктора поля Назва та Автор, клацаючи два рази на відповідні назви полів таблиці. Це поля, які необхідно вивести відповідно до умови завдання.

5. Також додайте поле Рік видання. За цим полем буде створено критерій пошуку.

6. У полі Рік видання навпроти рядка Критерії введіть 2017.

7. Запустіть запит на виконання, натиснувши інструмент Запуск на вкладці Конструктор.

Відповідно до умови завдання в запиті ми маємо вивести інформацію лише за полями Назва та Автор, отже, поле Рік видання необхідно приховати.

8. Поверніться у режим конструктора запиту та зніміть прапорець у полі Рік видання навпроти рядка Відображення (рис. 28.1).

9. Ще раз запустіть запит на виконання. Тепер буде відображено лише ті поля, що відповідають указаному критерію.

10. Збережіть запит.

a. Закрийте вкладку запиту і натисніть Так на запит про збереження запиту.

b. Введіть ім’я запиту, наприклад Запит_1 та натисніть ОК. В результаті запит буде збережено і відображено в групі запитів.

Запит 2. Вивести інформацію про назву, автора книжок та кількість сторінок, що мають жанр повість та кількість сторінок більшу за 200.

1. Створіть новий запит в режимі макета та додайте до нього таблицю Книжки.

2. До конструктора запиту додайте поля Назва, Автор, Кількість сторінок та Жанр.

3. Для поля Кількість сторінок додайте умову >200.

4. Для поля Жанр укажіть умову повість.

5. Виконайте запит та переконайтеся, що вказані умови враховано.

6. Поверніться до режиму конструктора та заберіть видимість даних для поля Жанр.

7. Виконайте запит іще раз.

8. Збережіть запит під назвою Запит_2.

Запит 3. Вивести інформацію про назву, видавництво та ціну книжок у жанрі детективу та з ціною від 100 грн до 180 грн.

1. Створіть новий запит в режимі макета та додайте до нього таблицю Книжки.

2. До конструктора запиту додайте поля Назва, Видавництво, Ціна та Жанр.

3. Для поля Ціна в рядку Критерій уведіть умову >=100 and <=180.

a. У разі введення великої умови доцільно скористатися побудовни-ком виразів. Відкрийте побудовник виразів, обравши інструмент Конструктор або натиснувши F2.

b. У вікні побудовника введіть умову >=100 and <=180 (або between 100 and 180) та натисніть ОК.

4. Для поля Жанр укажіть умову детектив.

5. Приберіть відображення даних для поля Жанр.

6. Виконайте запит та переконайтеся, що вказані умови враховано.

7. Збережіть запит під назвою Запит_3.

Запит 4. Вивести інформацію про назву, видавництво та ціну книжок у жанрі детективу або з ціною від 100 грн до 180 грн.

Зверніть увагу, що на відміну від попереднього запиту, де для виведення записів необхідно було врахувати обидві умови, в даному випадку має спрацьовувати одна із таких умов. Для створення такого запиту критерій для поля Жанр треба розмістити на рядку нижче, ніж для поля Ціна. В даному випадку для умови буде спрацьовувати сполучення або.

Отже, для врахування декількох умов одночасно їх розташовують в одному рядку. Для врахування однієї з умов критерії розміщують в різних рядках (рис. 28.2). 1

1. Створіть копію об’єкта Запит_3 та надайте йому ім’я Запит_4.

a. У контекстному меню об’єкта Запит_3 оберіть команду Копіювати.

b. У контекстному меню області об’єктів оберіть команду Вставити.

c. Уведіть ім’я Запит_4 та натисніть кнопку ОК.

2. Відкрийте Запит_4 в режимі конструктора.

3. Перемістіть у стовпці Жанр критерій «детектив» із рядка Критерії до рядка Або.

4. Збережіть запит.

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

Запит 5. Створити запит, у якому вивести назви усіх книжок, що є в наявності, але тільки тих продавців, рейтинг яких перевищує 4,4.

1. Створіть новий запит в режимі макета та додайте обидві таблиці Книжки та Продавці. Зверніть увагу, що між таблицями в запиті відображено зв’язок. Для правильного відображення даних у запиті його не потрібно змінювати.

2. Додайте поля Назва та Наявність із таблиці Книжки.

3. Із таблиці Продавці додаємо поле Рейтинг.

4. Для поля Наявність укажіть умову 1 та перейдіть до іншого поля. В результаті критерій зміниться на Істина. Отже, можна було ввести в якості критерію і слово Істина, але для спрощення запису, як ми вже переконалися, можна ввести і число 1.

5. В рядку критерії для поля Рейтинг уведіть умову >4,4.

6. Виконайте запит.

7. Оскільки поле Наявність завжди виводить однакові значення, його виведення є недоцільним. Отже, перейдіть у режим конструктора та приберіть прапорець для поля Наявність у рядку Відображення.

8. Збережіть запит під назвою Запит_5.

Запит 6. Вивести всю інформацію про продавців, що продають книжки видавництва Богдан.

1. Створіть новий запит в режимі макета та додайте обидві таблиці Книжки та Продавці.

2. Для виведення усієї інформації з таблиці Продавці не потрібно додавати до конструктора кожне поле. Для цього клацніть два рази на поле із зображенням зірочки.

3. Додайте поле Видавництво із таблиці Книжки.

4. В якості критерію відбору для поля Видавництво введіть Богдан, приберіть відображення даного поля в запиті (рис. 28.3).

5. Запустіть запит на виконання. В результаті буде відображено вся інформація про продавців книжок видавництва Богдан.

Але зверніть увагу, що деякі записи в запиті повторюються (рис. 28.4). Це відбувається тому, що ці продавці мають у продажу декілька книжок видавництва Богдан. Змінимо налаштування запиту таким чином, аби записи в запиті не повторювалися.

6. Відкрийте запит у режимі конструктора.

7. Оберіть інструмент Аркуш властивостей.

8. Для властивості Унікальні значення встановіть значення Так.

9. Виконайте запит ще раз і переконайтеся, що тепер усі записи виведено без повторень.

10. Збережіть запит під назвою Запит_6.

28.2.

Запити з параметрами

Якщо критерій пошуку має ввести сам користувач, під час виконання запиту використовують так званий запит з параметром. Так, наприклад, якщо є необхідність вивести назви усіх книжок, які були видані у вказаному користувачем році (рис. 28.5).

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

ВПРАВА 28.2

Завдання. Створити запити з параметром у базі даних Інтернет-магазин.

Запит 7. Вивести назви усіх книжок, які були видані у вказаному користувачем році.

1. Створіть новий запит в режимі макета та додайте до нього таблицю Книжки.

2. До конструктора запиту додайте поля Назва та Рік видання

3. Аби при виконанні запиту Рік видання його міг уводити користувач, у рядку Критерій поля Рік видання запишіть повідомлення [Уведіть рік видання] (рис. 28.6).

4. Запустіть запит на виконання. В результаті програма виведе вікно із запитом на введення року видання.

5. Введіть, наприклад, 2018.

6. Якщо виведено записи із повтореннями, то для виведення унікальних записів у вікні властивостей запиту для властивості Унікальні значення встановіть значення Так.

При створенні таких запитів зверніть увагу, що критерій пошуку не повинен співпадати з назвою одного з полів таблиць. Так, наприклад, замість фрази Уведіть рік видання не можна написати просто Рік видання, оскільки в цьому випадку при запуску запиту вікно запиту виведено не буде, а буде виведено усі записи таблиці.

7. Збережіть запит під назвою Запит_7.

Запит 8. Знайти всю інформацію про книжки за фрагментом назви книжки, який введе користувач.

1. Створіть новий запит в режимі макета та додайте до нього таблицю Книжки.

2. З даної таблиці додайте усі поля обравши поле із зірочкою.

3. Також додайте поле Назва для формування критерію відбору.

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

5. У рядку Критерій поля Назва відкрийте побудовник виразів.

6. У побудовнику введіть умову: Схоже «*» & [Уведіть фрагмент назви для пошуку] & «*» та натисніть ОК.

7. Запустіть запит на виконання. В результаті має з’явитися вікно повідомлення, що пропонує ввести фрагмент назви для пошуку.

8. Уведіть, наприклад, фрагмент «вір» та натисніть ОК. В результаті буде виведено усі книжки, що у своїй назві мають вказаний фрагмент.

Розберемо детальніше, що означає введений нами критерій пошуку.

Схоже «*» & [Уведіть фрагмент назви книжки] & «*»

Команда Схоже буде здійснювати пошук фрази, що буде відповідати масці, вказаній після неї. Замість напису [Уведіть фрагмент

назви для пошуку] буде підставлено введені користувачем символи.

Зірочки, що розташовані в лапках на початку і в кінці фрази означають будь-яку кількість будь-яких символів. А з допомогою символів & (амперсент) довільні символи і символи введені користувачем з’єднуються між собою. Отже, ми отримаємо текст, що містить спочатку будь-які символи, далі — символи, введені користувачем, а потім ще будь-які символи.

9. Збережіть запит під назвою Запит_8.

Виконайте вправу 28.3.

Контрольні запитання та завдання

1. Що таке запит?

2. Як створити запит у режимі макета?

3. Чи можна створити запит за даними декількох таблиць?

4. Що таке запит з параметром?

Питання для роздумів

1*. В яких випадках записи у запиті можуть повторюватися? Як позбутися цієї проблеми?

2*. Який існує раціональний спосіб виведення усіх полів таблиці в запиті?

3*. Які переваги пошуку та відбору даних в середовищі Access над Excel?

Завдання для досліджень

1*. Розгляньте можливості майстра побудови запитів.

2**. Дослідіть, що таке запити на створення таблиці, додавання, оновлення та видалення записів.

 

 

Це матеріал з підручника Інформатика 9 клас Казанцева, Стеценко 2022

 




Попередня сторінка:  27. Сортування та фільтрація даних в Acces...
Наступна сторінка:   29. Практична робота 7. «Створення запит...



^