МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ
ДЕРЖАВНИЙ УНІВЕРСИТЕТ "ЛЬВІВСЬКА ПОЛІТЕХНІКА"
Робота з запитами в СУБД ACCESS
Методичні вказівки
до лабораторної роботи
з курсу "Системи управління базами даних"
для студентів 4 курсу
базового напряму 6.0802
"Прикладна математика"
Затверджено
на засіданні кафедри ПМ
Протокол № 4 від 4.11.1999 р.
Львів - 1999
Запити - це один з найважливіших інструментів кожної системи управління базами даних. За допомогою запитів можна отримати нові вибірки даних, змодифікувати записи в таблицях. В СУБД Access підтримується можливість створення запитів довільного типу. Найпростіший спосіб створення запитів - це використання дизайнера запитів. Дизайнер запитів, або "Вікно запиту за зразком" (QBE) дозволяє створювати запити на вибірку, за допомогою яких проводиться відбір наявних даних. Результатом запиту є динамічний набір записів, що виводиться в режимі таблиці.
Для створення запиту-вибірки:
1. В вікні бази даних натисніть кнопку "Запит", а потім кнопку "Створити".
2 . В вікні діалогу Створення запиту натисніть кнопку "Новий запит".
Відкривається порожнє вікно запиту в режимі конструктора і вікно діалогу Додавання таблиці, яке дозволяє включити в запит таблиці і запити.
3. Додайте в запит таблиці або запити, встановлюючи курсор на потрібне ім'я і двічі натискаючи кнопку миші. Закінчивши додавання, натисніть кнопку "Закрити".
4. При необхідності, створіть зв'язки між таблицями, вибираючи імена полів у списках імен і переносячи їх в інший список за допомогою миші. Якщо вже встановлено зв'язки між таблицями, то лінії зв'язку будуть виведені автоматично. Можливо також автоматичне створення зв'язків між полями, що мають однакові імена і тип даних, навіть якщо зв'язки між таблицями не встановлені.
5. Додайте поля в запит шляхом переносу полів у бланк запиту QBE із списку імен.
6. Завершіть створення запиту. При необхідності, введіть умови відбору і сортування, створіть обчислювані і результуючі поля і зробіть прихованими поля, які не варто виводити.
7. Збережіть запит.
Або :
Виконайте запит натисканням кнопки "Режим таблиці" або командою Таблиця з меню Вид.
Привласнене запиту ім'я повинно відрізнятися від імені будь-якої таблиці або запиту в базі даних.
Примітки.
Користувач має можливість швидко створити простий запит. Для цього потрібно вибрати ім'я таблиці або запиту у вікні бази даних, натиснути кнопку "Новий запит" на панелі інструментів, після чого натиснути кнопку "Новий запит" у вікні діалогу Створення запиту. Буде вікрито вікно запиту в режимі конструктора і виведено список полів вибраної таблиці або запиту.
Деякі запити не допускають зміни даних у базовій таблиці зі створеного в запиті динамічного набору записів. Зміна базової таблиці не дозволяється для перехресного запиту. У цьому випадку в результуючій таблиці виводиться динамічний набір записів, не пов'язаний із базовими таблицями. Не дозволяється також відновлення полів визначених типів, наприклад, обчислюваних полів.
У багатотабличних запитах зручно співставляти кожному полю ім'я таблиці, у якій воно міститься. Для цього слід за допомогою команди Імена таблиць із меню Вид вивести в бланку запиту QBE під іменами полів рядок імен таблиць.
По замовчуванню, створюються запити типу запит-вибірка.
Додавання або видалення таблиці в запиті
Першим кроком при створенні запиту є включення в нього таблиць, які обновлюються в результаті запиту або є основою при виводі динамічного набору записів. Допускається також створення запиту на основі інших запитів.
Для додавання в запит таблиці або запиту:
1. В режимі конструктора запиту натисніть кнопку "Додати таблицю" на панелі інструментів або виберіть у меню Запит команду Додати таблицю. Відкривається вікно діалогу Додавання таблиці.
При створенні нового запиту без допомоги майстра по розробці запитів вікно діалогу Додавання таблиці виводиться автоматично.
2. Двічі натисніть кнопку миші, встановивши курсор на ім'я таблиці або запиту, які треба додати.
Допускається одночасне додавання в запит декількох таблиць або запитів. Для цього слід, утримуючи натиснутою клавішу Ctrl, вибрати імена таблиць або запитів, які додаються, і натиснути кнопку "Додати".
У верхній частині вікна запиту виводиться список полів доданої таблиці або запиту.
3. Повторюйте дії, описані вище, для додавання інших таблиць або запитів і закрийте вікно діалогу.
Рекомендація. Користувач має також можливість додати в запит таблицю або запит, вибравши їх імена у вікні бази даних і перемістивши їх за допомогою миші у верхню частину вікна запиту.
Для видалення таблиці з запиту :
1. Виберіть ім'я таблиці або запиту, які треба видалити, у відповідному списку полів.
2. Натисніть клавішу Del або виберіть у меню Запит команду Видалити таблицю.
Імена полів видаленої таблиці або запиту вилучаються з бланка запиту QBE.
Видалення з запиту таблиці або запитів не призводить до їх вилучення з бази даних.
Примітки.
Для додавання в запит таблиці з іншої бази даних або іншого додатка варто спочатку приєднати цю таблицю до активної бази даних.
Користувач має можливість швидко створити простий запит. Для цього потрібно вибрати ім'я таблиці або запиту у вікні бази даних, натиснути кнопку "Новий запит" на панелі інструментів, після чого натиснути кнопку "Новий запит" у вікні діалогу Створення запиту. Буде відкрито вікно запиту в режимі конструктора і виведено список полів вибраної таблиці або запиту.
Поєднання таблиць у запиті
Якщо запит створюється по декількох таблицях, то необхідно встановити зв'язки між таблицями за допомогою операції поєднання.
Якщо таблиці в запиті не поєднані, це може призвести до комбінування і виводу даних непередбаченим чином.
У Microsoft Access підтримуються три типи зв'язків між таблицями: симетричне поєднання, зовнішнє поєднання і самопоєднання.
Створення симетричного поєднання:
1. В режимі конструктора запиту включіть таблиці в запит.
2. Для поєднання двох таблиць виберіть поле в списку полів і перенесіть його за допомогою миші на еквівалентне поле (поле, що має той же тип даних і містить аналогічні дані) у списку полів іншої таблиці.
Автоматично створюється симетричне поєднання двох таблиць. Зв'язані поля з'єднуються лінією зв'язку.
Створення зовнішнього поєднання або зміна типу поєднання:
1. Створіть симетричне поєднання.
2. Двічі натисніть кнопку миші, встановивши курсор на лінію зв'язку, або виділіть лінію зв'язку і виберіть у меню Вид команду Параметри поєднання.
Відкривається вікно діалогу Параметри поєднання, яке дозволяє вибрати тип симетричного поєднання (1) або два типи зовнішнього поєднання (2 і 3).
3. Виберіть один із параметрів і натисніть кнопку "OK".
Лінія зв'язку буде перетворена в лінію вибраного типу. Якщо задається зовнішнє об'єднання, на лінії зв'язку з'являється стрілка, що вказує на таблицю, з якої відбираються записи зі співпадаючими значеннями в зв'язаних полях.
Створення самопоєднання:
1. В режимі конструктора запиту включіть таблицю в запит двічі.
У верхній частині вікна запиту будуть виведені два списки полів однієї таблиці.
2. Створіть за допомогою миші лінію зв'язку між полем в першому списку й еквівалентним полем в другому списку.
Примітки.
Поєднання двох таблиць відображається у вікні запиту за допомогою лінії, що з'єднує зв'язані поля. Для вже встановлених зв'язків між таблицями або запитами, лінії зв'язку виводяться автоматично. Якщо зв'язки між таблицями або запитами в базі даних ще не встановлено, то рекомендується встановити ці зв'язки, бо інакше буде потрібно вказувати зв'язки при кожному створенні запиту. Поєднання двох таблиць або запитів, що містять поля зі співпадаючими іменами й однаковим типом даних, здійснюється автоматично.
Якщо зв'язуються числові поля, для властивості яких Розмір поля (FieldSize) задані значення "З плаваючою крапкою (4 байти)" і "З плаваючою крапкою (8 байт)", то при виконанні запиту можуть бути виявлені не всі поля зі співпадаючими значеннями. Це пояснюється способом представлення дробових чисел у Microsoft Access. Щоб уникнути цього, варто зв'язувати тільки числові поля, для яких у властивості "Розмір поля" вказано розміри "Байт", "Ціле" або "Довге ціле".
Додавання полів у запит або фільтр
Загальним способом включення полів у запити і фільтри є вибір імен у списку полів у верхній частині екрана і їхній перенос за допомогою миші в бланк запиту QBE. Поля включаються в запит для перегляду або відновлення даних і для відбору і сортування записів. Включення полів у фільтр дозволяє задати для них умови відбору або сортування записів.
Включення полів у запит або фільтр:
1. Вікрийте запит у режимі конструктора.
Вікно фільтра для форми відкривається натисканням кнопки "Змінити фільтр" на панелі інструментів у режимі форми або режимі таблиці
. 2. В вікні запиту додайте в запит таблиці або запити через вікно діалогу Додавання таблиці. (Це вікно діалогу відкривається натисканням кнопки "Додати таблицю" на панелі інструментів або командою Додати таблицю з меню Запит).
У відкритому вікні фільтра список полів базової таблиці або запиту виводиться автоматично.
3. Виберіть імена в списку полів і перенесіть їх за допомогою миші в стовпчики бланка запиту. Допускається вибір одного поля або декількох полів одночасно:
Видалення поля з бланка запиту або фільтра:
1. Встановіть курсор в області виділення стовпчиків і виділіть стовпчик поля натисканням кнопки миші.
2. Натисніть клавішу Del або виберіть у меню Правка команду Видалити стовпчик.
Примітки.
Якщо в запит включаються всі поля шляхом переносу, то кожне з полів поміщається в окремий стовпчик бланка. При переносі в бланк символу зірочки в область імені поля поміщається ім'я таблиці або запиту, за яким стоїть крапка і символ зірочки (наприклад, Категорії.*). Таблиці, що створюються в результаті виконання запиту або застосування фільтра, виглядають в обох випадках однаково.
Вибір таблиці або запиту в цілому за допомогою оператора зірочки має ту перевагу, що в результуючій таблиці автоматично враховуються результати наступного додавання або видалення полів у базовій таблиці.
Якщо користувач вводить символ зірочки в рядок бланка "Поле" з клавіатури, то необхідно ввести також ім'я таблиці і крапку. Наприклад, Клієнти.*.
Якщо ім'я поля містить двокрапку, то це ім'я в бланку запиту QBE повинно бути взяте в прямі дужки. Наприклад, [Група: 2].
У вікні запиту користувач має можливість за допомогою кнопки "Імена таблиць" на панелі інструментів або команди Імена таблиць з меню Вид вивести в бланку запиту QBE під іменами полів імена таблиць, які містять ці поля.
Якщо для властивості запиту Вивід усіх полів (OutputAllFields) задано значення "Так", то в динамічному наборі записів виводяться всі поля з вихідних таблиць незалежно від того, чи включені вони в бланк запиту QBE.
Ввід умов відбору в запит або фільтр
Умови відбору — це інструкції, за допомогою яких відбувається відбір записів, що виводяться. Допускається задання умов відбору для одного або декількох полів у запиті або фільтрі.
Ввід умов відбору в запит або фільтр:
1. В режимі конструктора запиту або у вікні фільтра для форми або таблиці виберіть у першому рядку "Умова відбору" область у стовпчику поля, для якого задається умова.
2. Введіть вираз для умови відбору з клавіатури або за допомогою конструктора виразів.
3. Для вводу додаткової умови відбору для того ж поля або для вводу умови для іншого поля виберіть відповідну область і введіть вираз.
Примітки
У виразах для умов відбору дозволяється використання операторів шаблону зірочка (*) і знак запитання (?).
Після вводу виразу і натискання клавіші Enter проводиться синтаксичний аналіз цього виразу і вираз приводиться у відповідність із правилами синтаксису Microsoft Access. Наприклад, якщо введено слово Італія, то додаються прямі лапки і це слово виводиться як "Італія".
Якщо вираз не містить оператор, то допускається оператор "дорівнює" (=). Наприклад, якщо в область "Умова відбору" для поля "Країна" введено слово Італія, то вираз інтерпретується як Країна = "Італія".
У запиті допускається ввід декількох умов відбору в одну область або в різні області. Більш докладно див. у розділіі Вирази в запитах і фільтрах.
Не допускається задання умов відбору для полів, що додаються в бланк за допомогою символу зірочки (*), які представляють всі поля таблиці або запиту. Якщо потрібно задати умови відбору в запиті, у бланку властивостей якого міститься поле з зірочкою, то треба додати в бланк окремі поля і задати умови відбору для них, а потім зробити ці поля прихованими, для того щоб вони не виводилися двічі.
Сортування записів у запиті
Допускається сортування записів у запитах за алфавітом або по числових значеннях, у результаті якого записи розташовуються в порядку зростання або спадання. Можливе сортування по одному полю або по декількох полях аж до 10.
Задання умови сортування:
1. Відкрийте запит в режимі конструктора.
2. Виберіть в бланку запиту QBE область в рядку "Сортування" в стовпчику потрібного поля.
3. Виберіть порядок сортування в списку, що розкривається.
4. Для вказання сортування по інших полях повторіть кроки 2 і 3.
Зняття умови сортування:
1. Виберіть у рядку "Сортування" область поля, з якого знімається умова сортування.
2. Виберіть у списку, що розкривається, елемент "(відсутні)".
Примітки.
Стандартний порядок сортування задається у вікні діалогу Настройка при створенні бази даних. Для зміни настройок сортування виберіть у меню Вид команду Настройка, виберіть категорію "Загальна настройка" і зазначте нове значення параметра "Сортування нової бази даних".
При сортуванні по декількох полях істотним є порядок розміщення полів у бланку запиту QBE. Поля, для яких вказана умова сортування, сортуються в порядку їх розташування в бланку зліва направо. Наприклад, для того щоб спочатку виконати сортування по полю "Прізвище", а потім по полю "Ім'я", треба помістити в бланку поле "Прізвище" зліва від поля "Ім'я".
При створенні на основі запиту форми, у якій повинен виводитися відібраний в запиті набір записів, а також для того щоб зберегти постійний порядок сортування, треба виконувати сортування записів за допомогою фільтра.
Неможливо задати умови сортування для полів, що додаються в бланк запиту за допомогою символу зірочки (яка представляє всі поля таблиці або запиту). Для сортування записів у запиті, у якому поля були додані за допомогою символу зірочки, треба в явному виді включити в запит поля, по яких буде проводитися сортування, а потім зробити прихованими додані поля, для того щоб вони не виводилися двічі.
При сортуванні по зростанню значення дати і часу виводяться від більш ранніх до більш пізніх. При сортуванні по спаданню спочатку виводяться більш пізні значення.
Для сортування числових даних у текстових полях необхідно забезпечити однакову довжину стрічкових виразів, доповнюючи коротші рядки зліва нулями. Наприклад, при сортуванні по зростанню стрічкових виразів "1", "2", "11" і "22" вони будуть розташовані в такому порядку: "1", "11", "2", "22". Для виводу цих рядків у порядку їх числових значень треба записати їх у виді: "01", "02", "11", "22". Іншим способом є сортування по числових значеннях рядків, що повертаються функцією Val. Наприклад, для правильного сортування текстового поля [Вік] слід виконати сортування за значеннями Val([Age]).
Приховання полів у запитах
Допускається приховання полів, які не потрібно виводити в динамічному наборі записів.
Приховання полів у запиті :
1. Відкрийте запит у режимі конструктора.
2. В бланку запиту QBE зніміть прапорці в рядку "Вивід на екран" у стовпчиках тих полів, які стають прихованими.
Поля не будуть виведені в динамічному наборі записів.
Примітки.
По замовчуванню на екран виводяться всі поля запиту.
Після закриття запиту всі приховані поля будуть поміщені в бланку справа від полів, що виводяться.
При створенні форми або звіту, що базуються на запиті, необхідно показати поля, для яких у формі або звіті створюються зв'язані елементи керування.
Створення запиту з параметрами
Створення запиту з параметрами дозволяє автоматизувати процес зміни умов відбору в запиті. При запуску запиту з параметрами виводиться вікно діалогу з запрошенням на ввід параметрів. Це виключає необхідність відкриття запиту в режимі конструктора і зміни умов відбору вручну.
Створення запиту з параметрами:
1. В режимі конструктора запиту створіть запит-вибірку.
2. Введіть в область у рядку "Умова відбору" умову, яка містить шаблон параметра, який має вигляд тексту запрошення у квадратних дужках, яке виводиться як підпис поля, у який вводять параметр.
Наприклад, шаблон параметра назви країни може мати вид
[Введіть назву країни].
Не рекомендується обмежуватися в запрошенні назвою поля, це може бути джерелом плутанини, хоча використання імен полів у запрошеннях не забороняється.
Тип даних параметра запиту звичайно визначається автоматично. У особливих випадках варто задавати тип даних параметрів запиту в явному виді за допомогою описаної нижче процедури.
3. Для перевірки натисніть кнопку "Режим таблиці".
Введений текст запрошення буде виведений як підпис поля, у який вводиться параметр запиту.
Вказання типів даних для параметрів запиту:
1. Виберіть у меню Запит команду Параметри.
Відкривається вікно діалогу Параметри запиту.
2. Введіть у першу область у стовпчику "Параметр" текст шаблона, введеного в рядок "Умова відбору" у бланку запиту QBE. Необхідно точне співпадання з введеним текстом, інакше запит виконуватися не буде.
3. В стовпчику "Тип даних" справа від запрошення виберіть або введіть тип даних поля, значення якого будуть перевірятися за допомогою введеного параметра.
Якщо створено запит із декількома параметрами, повторіть кроки 2 і 3 для кожного параметра.
4. Натисніть кнопку "OK".
Примітки.
Звичайно тип даних для кожного параметра у вікні діалогу Параметри запиту правильно підбирається автоматично. Проте корисно задавати тип даних параметра в явному виді, особливо, для полів, що включаються в запит із таблиці зовнішньої бази даних SQL. Необхідно задавати тип даних для полів логічного типу, а також для параметрів перехресного запиту, у якому не задане значення властивості Заголовки стовпчиків (ColumnHeadings).
У список типів даних у вікні діалогу Параметри запиту включені деякі значення, призначені для роботи з приєднаними таблицями.
Допускається створення запитів із декількома параметрами. Введіть декілька шаблонів у відповідні області бланка запиту QBE і у вікно діалогу Параметри запиту. Запрошення на ввід параметрів виводяться в порядку їх розміщення в стовпчику "Параметр" у вікні діалогу Параметри запиту.
Запити з параметрами особливо корисні як базові для форм або звітів, тому що дозволяють зазначити умови відбору даних при відкритті форми або виводу звіту. Користувач має також можливість створити власну форму, призначену для вводу умов відбору даних перед виводом звіту.
Для вказівки діапазону значень у запиті з параметрами використовують оператор Between...And. Наприклад, для виводу списку товарів у визначеному діапазоні цін варто ввести в рядок "Умова відбору" вираз
Between [Мін. ціна] And [Макс. ціна]. Кожний із шаблонів повинний бути введений в окремий рядок у вікні діалогу Параметри запиту.
Оператор Like дозволяє використовувати в запиті з параметрами оператори шаблона. Наприклад, умова Like [Вкажіть першу букву]&* дозволяє вивести всі прізвища, що починаються на введену користувачем букву.
Використання обчислюваних полів у запитах
Допускається створення обчислюваних полів у запиті за допомогою вводу виразу в рядок полів.
Створення обчислюваних полів в запиті:
1. В режимі конструктора запиту введіть вираз в порожню комірку у рядку "Поле".
Після натискання клавіші Enter або переводу курсору в іншу область буде виведене ім'я поля "ВиразN", де N - ціле число, що збільшується на одиницю для кожного нового обчислюваного поля в запиті. Це ім'я поля виводиться перед виразом і відокремлюється від нього двокрапкою. У режимі таблиці дане ім'я стає заголовком стовпчика.
2. Користувач має можливість перейменувати обчислюване поле.
Примітки.
Наприклад, для створення поля "Сума" варто ввести в область у рядку "Поле" вираз: Сума: [Ціна]*[Кількість]
При виконанні запиту в поле "Сума" буде занесено нове значення, обчислене шляхом перемножування вмісту полів "Ціна" і "Кількість".
Обчислювані поля дозволяють:
— вираховувати числові значення і дати;
— комбінувати значення в текстових полях;
— створювати підпорядковані запити;
— обраховувати значення результуючих полів за допомогою групових функцій.
При використанні в обчислюваних полях посилань на імена полів слід включити в звіт таблиці, що містять ці поля (або використовувати функцію DLookup). Проте немає необхідності переносити ці поля в бланк запиту QBE.
Для обчислюваних полів допускається сортування, задання умов відбору і обрахунок результуючих значень, як і для будь-яких інших полів. Для обрахунку результуючих значень треба вибрати в області рядка "Групова операція" елемент "Вираз".
Ввід даних у обчислювані поля або їх зміну в режимах таблиці або форми неможливий. При зміні значень полів, використовуваних у виразах, значення обчислюваного поля обновлюється автоматично.
При діленні грошового значення на будь-яке число повертається числове значення зі значенням властивості Розмір поля (FieldSize) "З плаваючою крапкою (8 байт)". Для того, щоб поверталося значення типу "Грошовий", треба зазначити цей тип у властивості запиту Формат поля (Format).
У Microsoft Access визначена спеціальна функція, Count, що забезпечує підрахунок кількості записів у запиті. Для цього слід ввести Count(*) в область у рядку полів або в інструкцію SELECT у вікні SQL.
Вікно Область вводу, що виводиться натисканням клавіш Shift+F2, дозволяє переглядати вираз повністю (без прокручування).
Додавання записів у таблицю
Запит-додавання використовують для додавання записів, що містяться в таблиці або запиті в поточній базі даних, у кінець іншої таблиці. Таблиця -одержувач може міститися як у поточній, так і в іншій базі даних. Перед виконанням запиту на додавання допускається попередній перегляд результатів.
Увага!
Якщо при додаванні записів у таблицю, що містить поле лічильника, потрібно перенумерувати записи, то не треба включати в запит поле лічильника. Це поле включають у запит, коли необхідно зберегти вихідні значення лічильника. Проте, якщо при цьому виникнуть повторювані значення, то записи додані не будуть.
Перед запуском запиту-додавання необхідно перевірити:
Якщо таблиця одержувач містить ключове поле, то записи, що додаються, повинні містити таке ж або еквівалентне поле з тим же типом даних. Особливим випадком є поля лічильника, сумісні також із полями типу "Числовий", у яких для властивості Розмір поля (FieldSize) задане значення "Довге ціле". Додавання записів не відбувається, якщо ця операція призведе до появи повторюваних або порожніх значень у ключових полях.
При додаванні записів у таблицю в іншій базі даних ім'я і шлях бази даних повинні бути точно вказані.
Додавання записів у таблицю:
1. В режимі конструктора запиту натисніть кнопку "Додавання" на панелі інструментів або виберіть у меню Запит команду Додавання.
Відкривається вікно діалогу Властивості запиту.
2. В вікні діалогу Властивості запиту введіть у поле "Таблиця" ім'я таблиці, у якій додаються записи, або виберіть ім'я таблиці в списку, що розкривається.
3. Натисніть кнопку "OK".
У бланку запиту QBE у вікні запиту на додавання виводиться рядок "Додавання".
4. Для відбору записів, які додаються, введіть у запит таблиці, включіть поля і задайте умови відбору так само, як це робиться при створенні запиту-вибірки.
5. Введіть в область рядка "Додавання" імена полів таблиці-одержувача, що відповідають іменам полів у рядку "Поле". Якщо імена полів збігаються, то вони виводяться автоматично.
Кількість полів у рядках "Поле" і "Додавання" повинно бути однаковим за винятком полів, що використовуються тільки для задання умов відбору.
6. Натисніть кнопку "Виконати" на панелі інструментів або виберіть у меню Запит команду Виконати.
Відкривається вікно діалогу з повідомленням про кількість записів, що додаються в таблицю.
7. Для виконання запиту натисніть кнопку "OK".
Примітки.
Якщо в рядок "Поле" введено символ зірочки (*), то символ зірочки автоматично вводиться у відповідну область рядка "Додавання". Дані будуть додаватися в поля із співпадаючими іменами; всі інші поля будуть ігноруватися.
Якщо в рядок "Поле" введено символ зірочки (*) і одне або декілька імен полів для задання умов відбору, то ці поля варто виключити з рядка "Додавання". У протилежному випадку запит виконати не вдасться, оскільки ці поля двічі вказуються як одержувачі даних.
При додаванні записів у відкриту таблицю натискання клавіш Shift+F9 дозволяє обновити таблицю і вивести додані записи.
Видалення групи записів
Запит-видалення використовують для видалення групи записів, що відбираються за допомогою вказаних користувачем умов відбору. Перед виконанням запиту на видалення допускається попередній перегляд результатів.
Запит-видалення дозволяє видалити записи з однієї таблиці або з декількох таблиць з відношенням один-до-одного. Для видалення записів з декількох таблиць з відношенням один-до-багатьох (наприклад, усіх клієнтів із Мілану і зроблені ними замовлення), необхідно виконати два запити. Така операція видалення описана нижче.
Увага!
У деяких випадках запит-видалення призводить до видалення приєднаних записів у таблицях, не включених у запит. Це трапляється, якщо в запит включена таблиця, що знаходиться на стороні "один" відношення один-до-багатьох, а цілісність даних забезпечується параметром "Каскадне видалення". При видаленні записів із цієї таблиці будуть також видалені зв'язані записи з таблиці, що знаходиться на стороні "багатьох". Наприклад, зв'язки таблиць "Замовлення" і "Замовлено" у базі даних "Борей" для підтримки цілісності даних визначені з параметром "Каскадне видалення". Тому при видаленні записів із таблиці замовлення автоматично видаляться зв'язані записи з таблиці "Замовлене".
Операцію видалення записів, виконану за допомогою запиту на видалення, скасувати неможливо. Перед запуском запиту варто перевірити, чи правильно відібрані записи, що видаляються.
Завжди зберігайте резервні копії даних. Це дозволить відновити записи, видалені помилково.
Видалення групи записів:
1. В режимі конструктора запиту натисніть кнопку "Видалення" на панелі інструментів або виберіть у меню Запит команду Видалення.
У бланк запиту QBE виводиться рядок "Видалення". У областях під іменами полів виводиться слово "Умова", що показує можливість вводу умов відбору записів, що видаляються. У областях під іменами таблиць (наприклад, Категорії.*) виводиться слово "З", що показує, з яких таблиць будуть видалено записи. Ці параметри змінити не можна.
2. Для відбору записів, що видаляються, введіть у запит таблиці, включіть поля і задайте умови відбору так само, як це робиться при створенні запиту-вибірки.
При видаленні записів з однієї таблиці в бланк запиту QBE варто перенести за допомогою миші тільки поля, використовувані для задання умов відбору.
У багатотабличному запиті необхідно перемістити в бланк запиту QBE символ зірочки (*) для кожної таблиці, з якої будуть видалятися записи, і поля, використовувані для задання умов відбору.
3. Натисніть кнопку "Виконати" на панелі інструментів або виберіть у меню Запит команду Виконати.
Відкривається вікно діалогу з повідомленням про кількість записів, які видаляються.
4. Для виконання запиту натисніть кнопку "OK".
Видалення записів із таблиць з відношенням один-до-багатьох:
1. В режимі конструктора запиту натисніть кнопку "Видалення" на панелі інструментів або виберіть у меню Запит команду Видалення.
2. Для відбору записів, що видаляються, введіть у запит таблиці, включіть поля і задайте умови відбору так само, як це робиться при створенні запиту-вибірки.
3. Перемістіть за допомогою миші в бланк запиту QBE поле з таблиці, що містить первинні записи (із боку "один"), яке буде використано для задання умов відбору.
4. Перемістіть в бланк запиту QBE символ зірочки (*) із списку полів таблиці, що містить приєднані записи (з боку "багатьох").
5. Натисніть кнопку "Виконати" на панелі інструментів або виберіть у меню Запит команду Виконати і натисніть кнопку "OK" для підтвердження видалення.
Будуть видалені тільки приєднані записи із зв'язаних таблиць.
6. Виділіть кожну таблицю, що містить приєднані записи, і видаліть її з запиту натисканням клавіші Del.
7. Залишіть у запиті тільки таблицю, що містить первинні записи, і поле, за допомогою якого задавалися умови відбору, і знову натисніть кнопку "Виконати". Натисніть кнопку "OK" для підтвердження видалення.
Відібрані записи будуть видалені з первинної таблиці.
Примітки.
Оскільки властивість "Унікальні значення (Unique Values)" ( що задається в бланку властивостей запиту) у запиті на видалення ігнорується, немає необхідності задавати його значення при створенні запиту-вибірки, що буде потім перетворений у запит-видалення.
Запит-видалення видаляє запис цілком, a не тільки дані з вказаних полів. Для видалення значень із полів варто використовувати запит-відновлення і замінити в ньому нові значення на порожні.
Видалення записів за допомогою запиту на видалення звичайно займає менше часу, ніж видалення окремих записів. Видаляють окремі записи тоді, коли кількість записів, що видаляються невелика, або немає можливості вказати умови відбору записів, що видаляються .
Відновлення групи записів
Для внесення змін у групу записів, що відбираються за допомогою вказаних користувачем умов відбору, виконують запит-відновлення. Для зміни записів у запиті на відновлення допускається використання виразів. Перед виконанням запиту на зміну записів можливий попередній перегляд результатів.
Відновлення групи записів:
1. В режимі конструктора запиту натисніть кнопку "Відновлення" на панелі інструментів або виберіть у меню Запит команду Відновлення.
У бланку запиту QBE у вікні запиту на відновлення виводиться рядок "Відновлення".
2. Для відбору записів, що обновлюються , додайте в запит таблиці, включіть поля і задайте умови відбору так само, як це робиться при створенні запиту-вибірки.
3. Введіть для поля, що обновляється, в область "Відновлення" значення або вираз з клавіатури або створіть вираз за допомогою конструктора виразів.
Наприклад, для зниження ціни на 20 відсотків введіть для поля "Ціна" вираз [Ціна]*0,8.
4. Натисніть кнопку "Виконати" на панелі інструментів або виберіть у меню Запит команду Виконати.
Відкривається вікно діалогу з повідомленням про кількість записів, що обновляються .
5. Для виконання запиту натисніть кнопку "OK".
Примітки.
У деяких випадках відновлення таблиць за допомогою запиту на відновлення виявляється неможливим. Наприклад, запити на вивід результуючих значень полів, що обчислюються, або блоковані таблиці обновити не можна.
Створення таблиці за результатами запиту
Для створення таблиці на основі динамічного набору записів, що виводиться в запиті, варто визначити запит на створення таблиці. Перед виконанням запиту на створення таблиці допускається попередній перегляд результатів.
Створення таблиці за результатами запиту:
1. В режимі конструктора запиту натисніть кнопку "Створення таблиці" на панелі інструментів або виберіть у меню Запит команду Створення таблиці.
Відкривається вікно діалогу Властивості запиту.
2. Введіть ім'я нової таблиці в поле "Таблиця" або виберіть у списку, що розкривається, ім'я таблиці, вмістиме якої буде замінено на динамічний набір записів, які виводяться в запиті.
Якщо введено або вибрано ім'я, що збігається з ім'ям існуючої таблиці, то її структура і дані будуть замінені на нові.
3. Натисніть кнопку "OK".
Відкривається вікно запиту на створення таблиці.
4. Для відбору записів, які включаються в нову таблицю, додайте в запит таблиці, включіть поля і задайте умови відбору так само, як це робиться при створенні запиту-вибірки.
5. Натисніть кнопку "Виконати" на панелі інструментів або виберіть у меню Запит команду Виконати.
Відкриваєтся вікно діалогу з повідомленням про число записів, що включаються в нову таблицю.
6. Для запуску запиту натисніть кнопку "OK".
Примітки.
Запити на створення таблиці використовують для архівувания старих записів, створення резервних копій таблиць, а також для створення копій таблиць, експортованих в іншу базу даних або використовуваних як базові таблиці при створенні звітів. Наприклад, за допомогою щомісячного виконання запиту на створення таблиці можна створювати архівну таблицю щомісячних продажів по регіонах.
Після створення нової таблиці часто виникає необхідність визначення для неї ключового поля. При створенні таблиці на підставі динамічного набору записів кожному полю присвоюється тип даних і розмір відповідного поля в базовій таблиці, проте, інші властивості таблиць і полів у нову таблицю не передаються.
Перегляд результатів запиту, що змінює
У результаті запиту, що змінює, дані змінюються або копіюються з однієї таблиці в іншу. На відміну від запиту-вибірки або перехресного запиту в запиті, що змінює, не створюється динамічний набір записів, що дозволяє переглядати результати в режимі таблиці. Замість цього користувач для перегляду результатів запиту повинен (для запиту на відновлення) перетворити запит, що змінює, у запит-вибірку або (для запиту на створення таблиці, запиту на додавання або запиту на видалення) відкрити таблицю.
Попередній перегляд записів, що відбираються в запиті, що змінює:
1. Створіть або відкрийте запит у режимі конструктора.
2. Натисніть кнопку "Режим таблиці" на панелі інструментів.
Набір записів, що відбираються в запиті, виводиться в режимі таблиці.
Тип запиту Виводяться для перегляду
Відновлення Обновлювані поля.
Видалення Записи, які видаляються
Створення таблиці Поля, які включаються в нову таблицю.
Додавання Записи, які додаються в іншу таблицю.
Перегляд результатів запиту на відновлення:
1. Створіть і виконайте запит.
2. Натисніть кнопку "Вибірка" або виберіть у меню Запит команду Вибірка.
Запит виводиться у вікно запиту-вибірки.
3. Натисніть кнопку "Режим таблиці" на панелі інструментів для виводу обновлених записів у режимі таблиці.
Якщо запит на відновлення призводить до зміни значень полів, використовуваних для відбору записів, то для перегляду змін може виникнути необхідність відкрити базову таблицю або змінити умови відбору.
Перегляд результатів запиту на створення таблиці або запиту на відновлення або видалення записів:
1. Створіть і виконайте запит.
2. Натисніть кнопку "Вікно бази даних" або клавішу F11 для виводу вікна бази даних.
3. Натисніть кнопку "Таблиця" для виводу списку таблиць. Встановіть курсор на ім'я створеної або зміненої таблиці і натисніть кнопку миші.
Таблиця буде виведена в режимі таблиці.
Примітки.
Після виконання запиту, що змінює, користувач має можливість зберегти його для використання надалі або видалити.
Розрахунок результуючих полів у запиті
Розрахунок результуючих полів у запиті допускається як для всіх записів, так і для груп записів. Наприклад, так підраховують загальну кількість зроблених замовлень або кількість замовлень по окремих групах товарів.
Розрахунок результуючих полів:
1. В режимі конструктора запиту створіть запит-вибірку або перехресний запит.
2. Включіть в запит таблиці, по записах яких будуть розраховуватися результуючі поля.
3. Якщо створюється запит-вибірка, натисніть кнопку "Групові операції" на панелі інструментів.
У бланку запиту QBE виводиться рядок "Групова операція". При створенні перехресного запиту такий рядок виводиться автоматично.
4. Включіть в запит поля, для яких виконуються групові операції, визначіть умови групування і зазначте умови відбору в бланку запиту QBE.
5. В рядку "Групова операція" виберіть потрібний параметр у кожному полі, включеному бланк запиту.
Параметр повинен бути вибраний у кожному полі цього рядка.
6. При необхідності, введіть умови відбору для полів.
7.Зніміть прапорці a рядку "Вивід на екран" для полів, які не повинні виводитися в статичному наборі записів.
Допускається також задання умов сортування полів.
8. Натисніть кнопку "Режим таблиці" на панелі інструментів для виводу статичного набору записів.
Примітки.
Обмеження кількості записів, що беруть участь у групових обчисленнях, за допомогою задання умов відбору допускається як до, так і після проведення розрахунків.
Результуючі поля розраховуються за допомогою групових функцій або параметрів, вибраних у рядку "Групова операція". Наприклад, функція Sum розраховує суму вибраних значень, а функція Avg їхнє середнє значення.
Якщо в полі використовується групова функція, то полю результуючої таблиці присвоюється стандартне ім'я, утворене з імені функції й імені поля в базовій таблиці (наприклад, Sum_Ціна). Користувач має можливість перейменувати ці поля.
Для підрахунку кількості записів у запиті визначена спеціальна функція Count. Для підрахунку загальної кількості записів введіть Count(*) в область у рядку "Поле" або в інструкцію SELECT у вікні SQL.
У результуючих запитах не допускається використання в рядку "Поле" оператора зірочки (*).
Для включення в результуючий запит MEMO-поля або поля об'єкта OLE варто перемістити за допомогою миші імена цих полів у бланк запиту QBE і вибрати для них у рядку "Групова операція" функцію First або Last.
Не допускається відновлення полів у статичному наборі записів, що виводиться в результуючому запиті.
Задання умов відбору при розрахунку результуючих полів
Задання умов відбору дозволяє обмежити число записів, що включаються в групові операції.
Задання умов відбору в результуючому запиті:
1. Створіть запит-вибірку і включіть в запит таблиці.
2. Включіть поля в бланк запиту QBE.
3. Натисніть кнопку "Групові операції" на панелі інструментів для виводу рядка "Групова операція".
4. Виберіть параметр у рядку "Групова операція" для кожного поля в бланку запиту.
5. Введіть умови відбору в рядок "Умова відбору" для відповідних полів.
6. Натисніть кнопку "Режим таблиці" на панелі інструментів для виводу динамічного набору записів.
Примітки.
При вказанні умов відбору керуйтеся такими правилами:
— Для обмеження кількості груп, що виводяться, задавайте умови відбору для полів з вибраним параметром "Групування". Наприклад, при розрахунках сумарних замовлень по категоріях товарів задання умов відбору дозволяє вивести результуючі значення тільки для категорії "Рибопродукти".
— Для повернення результуючих значень, що задовольняють визначеним умовам, виберіть параметр "Умова" у рядку "Групова операція" (у тому рядку, де задаються групові функції). Наприклад, при підрахунку числа замовлень по відділеннях можна зазначити, що в статичному наборі записів виводяться дані тільки для тих відділень, де число замовлень перевищує 200.
— Для обмеження числа записів, по яких виконуються групові обчислення, також варто вибрати параметр "Умова" у рядку "Групова операція". При цьому необхідно другий раз перемістити за допомогою миші ім'я поля в бланк запиту. Аналогічним чином задаються умови відбору і для інших полів. Наприклад, при підрахунку кількості замовлень по відділеннях можна задати в поле "Дата замовлення" умову відбору замовлень за вказаний проміжок часу.
— Умови відбору, що задаються за допомогою параметра "Умова", перевіряються до виконання групових розрахунків.
— Після вибору параметра "Умова" поле робиться прихованим (знімається прапорець у рядку "Вивід на екран").
Представлення даних за допомогою перехресного запиту
Перехресний запит дозволяє вивести зведені дані у форматі рядків і стовпчиків. У перехр...