Відбір і сортування записів за допомогою запитів, страница 13

Рис. 1.38. Вікно розширеного фільтра

Вікно розширеного фільтра дійсно дуже схоже на вікно Конструктора запитів, однак панель інструментів дуже сильно відрізняється від панелі інструментів Конструктора запитів. Наприклад, не можна додати ще одну таблицю (розширений фільтр будується тільки для однієї таблиці — у даному прикладі друга таблиця відображає поле підстановки) або виконати угруповання записів. На панелі інструментів є тільки дві важливі кнопки: Застосування фільтра (Apply filter) і Зберегти як запит (Save as query). У бланку фільтра відсутня рядок, що містить прапорці включення поля в запит. Це означає, що фільтр не впливає на склад стовпців у результуючій таблиці - завжди відображаються всі стовпці, фільтруються тільки записи. Однак критерії відбору записів можуть бути встановлені як завгодно складні. Задаються вони по тимі ж правилам, що й у запитах.

Виконання запиту

Щоб подивитися результати запиту, досить відкрити його в режимі Таблиці. Для цього необхідно:

  1. У вікні бази даних на панелі об'єктів вибрати ярлик Запити (Queries).
  2. Виділити потрібний запит у списку запитів і нажати на кнопку Відкрити (Open) або двічі клацнути лівою кнопкою миші на потрібному запиті.

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

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

Для виконання запиту з режиму Конструктора досить просто перемкнутися в Режим таблиці (Datasheet View) за допомогою кнопки Вид (View) на панелі інструментів, як ми це вже не раз робили, або за допомогою команди Режим таблиці (Datasheet View) з меню Вид (View).

В Access 2002 запит можна відкрити не тільки в режимі Таблиці. Ви можете виконати обробку результатів запиту й одержати на їхній основі зведену таблицю або діаграму, аналогічні тим, які можна створити на базі таблиці Excel

Зміна даних у результуючій безлічі запиту

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

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

Будь-який запит має дві властивості: Унікальні значення (Unique Values) і Унікальні записи (Unique Rows). Властивість Унікальні записи (Unique Row) виключає з результуючого набору дубльовані записи, тобто в результат запиту будуть включені записи, які мають унікальні значення хоча б в одному з полів. Властивість Унікальні значення (Unique Values) вимагає включення в результуючий набір тільки тих записів, які мають унікальні значення у всіх полях. Значення цих властивостей не можуть одночасно бути рівними Так (Yes), хоча обоє можуть мати значення Немає (No). Значення цих властивостей можуть установлюватися у вікні властивостей запиту. Більшість запитів, властивість Унікальні записи (Unique Row) яких має значення Так (Yes), можуть використовуватися для відновлення даних. Запити, властивість Унікальні значення (Unique Values) яких має значення Так (Yes), не допускають ні відновлення наявних у них записів, ні додавання нових.