Open
Close

Створення простого запиту. Запити вибірки даних у Access: Створення запиту з параметром, створення перехресного запиту Як у access створити запити

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

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

У Microsoft Access 2007 існує чотири шляхи створення запитів:

За допомогою майстра запитів;

З використанням конструктора запитів;

У режимі SQL-редактора;

Створення за допомогою майстра

Зараз ви дізнаєтесь, як створити простий запит у Access 2007 за допомогою майстра запитів. Для цього слід виконати таке.

2. Перейдіть на вкладку створення(Рис. 5.1).

Мал. 5.1.Вкладка Створення

Таблиці, Форми, Звіти, Інші. Натисніть кнопку Майстер запитівв групі Інші. Відкриється перше вікно майстра запитів (рис. 5.2).

Мал. 5.2.Перше вікно майстра запитів – створюємо новий запит

4. У вікні запропоновано чотири варіанти створення запитів. Виберіть варіант Простий запитта натисніть кнопку ОК. Відкриється наступне вікно майстра запитів (рис. 5.3).

Мал. 5.3.У наступному вікні майстра слід вказати таблицю для запиту

5. Для створення запиту в списку, що розкривається Таблиці та запитиВиберіть необхідну таблицю.

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

Мал. 5.4.Вибрані поля таблиці

7. Після перенесення полів до правого списку натисніть кнопку Далі, на екрані з'явиться вікно майстра запитів (мал. 5.5).

Мал. 5.5.У цьому вікні майстра задається ім'я запиту

8. Ви можете вказати назву нового запиту в полі Введіть ім'я запиту. Можете також переглянути результати виконання запиту, встановивши перемикач у положення Відкрити запит на перегляд даних. Після виконання вказаних дій переходьте до наступного кроку, натиснувши кнопку Готово.

9. Майстер запитів завершить свою роботу. При цьому створиться та збережеться запит у поточній базі даних. Ви зможете побачити назву вашого нового запиту в області переходів, а вибрані дані у таблиці головного вікна (рис. 5.6).

Мал. 5.6.Таблиця з обраними на запит даними

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

Створення запиту у конструкторі

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

Для створення запиту з використанням конструктора виконайте таке.

1. Відкрийте бажану базу даних.

2. Тепер перейдіть на вкладку створення(Див. рис. 5.1).

3. На вкладці наведено групи Таблиці, Форми, Звіти, Інші. Натисніть кнопку Конструктор запитівв групі Інші. Відкриється вікно Додавання таблиці(Рис. 5.7).

Мал. 5.7.Вікно Додавання таблиці

4. У вікні є три вкладки: Таблиці, Запити, Таблиці та запити. На вкладці Таблицівиберіть потрібну таблицю та натисніть кнопку Додати. Потім натисніть кнопку Закрити, після чого на екрані з'явиться порожній бланк запиту вибраної таблиці (рис. 5.8).

Мал. 5.8.Бланк запиту у конструкторі запитів

5. У нижній частині вікна в списку Полевиберіть поле таблиці (рис. 5.9).

Мал. 5.9.Вибір поля таблиці

6. У полі Виведення на екранзніміть прапорець, щоб поле не відображалося на екрані.

7. Виберіть наступний список, що розкривається Полета вкажіть інше поле для формування запиту.

8. На панелі швидкого доступу натисніть кнопку Зберегти. Відобразиться вікно, в якому ви зможете ввести ім'я нового запиту (рис. 5.10).

Мал. 5.10.Вікно Введення імені запиту

9. Натисніть кнопку ОК. Щоб переглянути запит, натисніть кнопку Виконатина вкладці Конструктор. Ви побачите таке (рис. 5.11).

Мал. 5.11.Результат запиту

У вікні представлений результат виконання запиту – поле Адресаз таблиці Клієнти. Поле Телефонна екрані не виводиться, тому що ви зняли прапорець Виведення на екран. Створення запиту за допомогою конструктора займає більше часу, але надає значно більше можливостей.

Створення запиту з фільтра

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

Спробуємо розібратися із створенням запиту на основі фільтра.

1. Відкрийте базу даних. В області переходів натисніть кнопкою миші на потрібній таблиці.

2. Перейдіть на вкладку Головна.

3. У групі елементів Сортування та фільтрнатисніть , щоб відкрити список доступних пунктів. Виберіть пункт Розширений фільтр. Змініть існуючий або створіть новий фільтр.

4. На вкладці Головнав групі Сортування та фільтрнатисніть кнопку Застосувати фільтр.

5. Ви можете змінити умови фільтра, якщо вас не влаштовують запис таблиці. Після виконання процедури можна зберегти фільтр у вигляді запиту, повернувшись у вікно Конструктор фільтра. Перейдіть на вкладку Головна. Натисніть кнопку Параметри розширеного фільтра, розташовану у групі Сортування та фільтр. У меню виберіть команду Зберегти як запит. На екрані з'явиться вікно, в якому можна ввести ім'я нового запиту (мал. 5.12).

Мал. 5.12.Вікно Збереження у вигляді запиту

6. Введіть ім'я запиту у поле Ім'я запитута натисніть кнопку ОК. В результаті ви отримаєте запит до бази даних. Як бачите, створення запитів у Microsoft Access 2007 відбувається досить швидко і не викликає труднощів. Але це ще не все: створені запити можна модифікувати, про що буде розказано в наступному розділі.

З книги Мова програмування С# 2005 та платформа.NET 2.0. автора Троелсен Ендрю

Створення простого Web-вузла ASP.NET 2.0 Обмежений обсяг книги не дозволяє тут описати особливості всіх Web-елементів керування, що входять до доставки ASP.NET 2.0 (для цього потрібна окрема і досить об'ємна книга). Але щоб проілюструвати роботу з різними

З книги TCP/IP Архітектура, протоколи, реалізація (включаючи IP версії 6 та IP Security) автора Фейт Сідні М

12.16.2 Секція запиту Запит має поля, перелічені у таблиці 12.3. Зазвичай, повідомлення містить єдиний запит. Але можна об'єднати кілька різних запитів у спільній секції.

З книги Програмування мовою Ruby [Ідеологія мови, теорія та практика застосування] автора Фултон Хел

З книги Етюди для програмістів [неповністю, розділи 1-24] автора Уезерелл Чарлз

З книги C ++. Збірник рецептів автора Дігінс Крістофер

15. Простіше простого, або Пошук візерунків із простих чисел Кожен, хто вивчає прості числа, буває зачарований ними і водночас відчуває власне безсилля. Визначення простих чисел так і очевидно; знайти чергове просте число так легко; розкладання на прості

З книги Microsoft Access 2007 автора Днепров Олександр Г.

1.2. Складання простого програми «Hello, World» з командного рядка ПроблемаВи хочете зібрати просту програму «Hello, World», подібну до наведеної в прикладі 1.4.Приклад 1.4. Проста програма Hello, Worldhello.cpp#include int main() ( std.:cout<< "Hello, World! ";}РешениеВыполните следующие

З книги Недокументовані та маловідомі можливості Windows XP автора Клименко Роман Олександрович

1.7. Складання простого додатка «Hello, World» за допомогою Boost.Build Проблема Ви хочете зібрати просту програму «Hello, World», подібну до наведеної в прикладі 1.4, за допомогою BoostBuild. ,

Із книги Цифрова фотографія. Трюки та ефекти автора Гурський Юрій Анатолійович

1.15. Складання простого додатка «Hello, World» за допомогою GNU make Проблема Ви хочете за допомогою GNU make зібрати просту програму «Hello, World», подібну до наведеної в прикладі 1.4.Рішення Перш ніж ви напишете свій перший make-файл, ви повинні познайомитися з термінологією, make -файл складається з

З книги QT 4: програмування GUI на С++ автора Бланшет Жасмин

14.1. Синтаксичний аналіз простого документа XML ПроблемаІснує деяка сукупність даних, що зберігаються в документі XML. Потрібно виконати синтаксичний аналіз документа та перетворити ці дані на об'єкти C++. Документ XML має досить невеликий розмір і може

З книги автора

Змінення запиту Можна змінити запит, збережений у базі даних Microsoft Access 2007. Ви маєте можливість коригувати ім'я запиту, правити його текст у форматі SQL, а також редагувати запит у конструкторі запитів. Нижче представлені кілька найбільш

З книги автора

Використання запиту Якщо ви створили запит, що потрібно зробити для його запуску і як вивести на друк результати виконання запиту? Відповіді на ці питання дано в цьому розділі. Виконання запиту Запит – це звернення до даних для отримання будь-якої інформації або

З книги автора

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

З книги автора

Автоматичне створення звіту на основі даних таблиці або запиту Процес створення звіту слід розпочинати з вибору полів, які повинні входити до звіту, а також визначення таблиць або запитів, у яких ці поля знаходяться. Можливо, що під час створення звіту вам

З книги автора

Створення команд для запиту до пошукових систем І ще кілька слів про адресний рядок. Ви часто використовуєте такі пошукові системи, як Rambler, Google або Yandex? І при цьому ви спочатку заходите на стартову сторінку пошукової системи, а потім уже вказуєте запит на

З книги автора

10.1. Інструменти простого і складного виділення Виділення – це відділення чогось від чогось. Що стосується графіки, і зокрема комп'ютерної, - це відділення сукупності точок від навколишніх точок. Для обробки цифрових фотографій знання прийомів виділення

З книги автора

Використання QTextBrowser як простого браузера системи допомоги Для великих додатків може знадобитися більш складна система допомоги на відміну від тієї, яку зазвичай забезпечують підказки, коментарі в рядку стану і довідки «що це таке?».

Компанія Microsoft надає користувачам широкі можливості для створення та роботи з базами даних. В наш час бази даних дуже широко використовуються у різних сферах та областях. Загалом можна сказати, що зараз без них не обійтися. У зв'язку з цим дуже важливо вміти працювати з таблицями Access. Основним елементом взаємодії користувача з базою даних є запит. У цій статті докладно розглянемо, як створити запит у програмі Access. Давайте почнемо. Поїхали!

Насамперед, розберемося з тим, що таке запит. Це елемент бази даних, який служить вибору потрібної інформації з таблиці. Вони бувають двох видів:

  • на вибірку (дозволяють отримувати дані та виконувати операції над ними);
  • На зміну (дозволяють додавати, видаляти та змінювати значення).

Тепер перейдемо безпосередньо до практики. Зайдіть на вкладку «Створення» та натисніть кнопку «Конструктор запитів». У вікні виберіть одну або кілька таблиць, з яких потрібно вибрати дані. Натиснувши кнопку «Виконати», ви отримаєте всю інформацію з вибраних таблиць. Для більш конкретного відбору перейдіть на вкладку «Конструктор» та введіть потрібне слово або число у полі «Умова відбору:». Наприклад, ви хочете отримати список усіх співробітників 1980 року народження. Для цього пропишіть у рядку «Умова відбору:» 1980 року в колонці «Дата народження» та натисніть кнопку «Виконати». Програма моментально дасть вам результат. Для зручності ви можете зберегти створений запит, щоб скористатися ним надалі. Скористайтеся комбінацією клавіш Ctrl+S та введіть назву у відповідному полі, а потім натисніть «OK».

Вказавши умову для відбору даних, ми отримуємо потрібну вибірку

Щоб порахувати значення в стовпці, можна використовувати так звані групові операції. Для цього на вкладці «Конструктор» клацніть по кнопці «Підсумки». У рядку «Угруповання» виберіть функцію «Count», що дозволяє скласти всі ненульові значення. Щоб у назві стовпчика не виводилося слово «Count», у рядку «Поле» введіть назву перед тим, що було вказано раніше. Збереження виконується так само за допомогою комбінації Ctrl+S.

Аксес вважає непусті осередки

Тепер створимо параметричний запит. Він дозволяє робити вибірку за введеним параметром. Наприклад, за заданою датою. Відкривши потрібну базу даних, пропишіть (без лапок) у відповідному стовпці «[Вкажіть дату]». Квадратні дужки є обов'язковими. У вікні, введіть потрібну дату. Після цього програма автоматично здійснить вибірку за введеною вами датою. Ви можете поставити знаки «>» (більше) та «<» (меньше) чтобы отобразить элементы раньше либо позже заданной даты. Например, список сотрудников, которые сдали отчёты до 01.07.

Як створити перехресне поводження? Достатньо знайти на панелі інструментів кнопку «Перехресний» та клацнути по ній. Після цього в пункті «Перехресна таблиця» виберіть у першому осередку «Заголовки рядків», у другому «Заголовки стовпців», а в третій «Значення». Потім ви можете порахувати значення, використовуючи вже згадану функцію «Count». Зверніть увагу, що якщо ви вкажете у другому осередку «Заголовки рядків», так само, як у першому, замість «Заголовки стовпців», то нічого не працюватиме. Обов'язково враховуйте це.

Робимо перехресний запит у базі

Також ви можете зробити звернення створення таблиці. Як це робиться? Достатньо відкрити бази даних, з якими ви працюєте, потім заповнити комірку «Умова відбору» та клацнути на кнопку «Створення таблиці». Не забувайте натискати "Виконати". На основі заданих параметрів Microsoft Access побудує нову таблицю. Наприклад, список усіх співробітників із їх контактними даними за професією «Бухгалтер».

При збереженні потрібно вказати ім'я та місце розташування нової таблиці

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

Запити – це один із видів документів, що використовуються в СУБД Access, які призначені для обробки даних, що зберігаються в таблицях

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

Майстер запитуза кілька кроків збирає відомості, необхідні для формування запиту, а потім автоматично складає його залежно від відповіді користувача на запитання.

За допомогою майстрів у Access можна створювати такі типи запитів:

§ Простий запит.

§ Перехресний запит.

§ Повторювані записи.

§ Записи без підлеглих.

Для створення будь-якого з них потрібно у вікні бази даних вибрати об'єкт Запити і натиснути кнопку Створити. Відкриється вікно "Новий запит", вид якого представлений на рис. 1.

Малюнок 1 Вікно БД Штат та вікно вибору видів запитів

Простий запитдозволяє створити за допомогою Майстри запит на вибіркуданих з певних полів таблиць або запитів, він найбільш зручний для користувачів-початківців. При його виборі запускається Майстер, у першому вікні якого (рис. 2) потрібно у списку Таблиці та запити вибрати таблицю, напр., Штат викладачів, вибрати з переліку її доступних полів ті, які мають бути присутніми у запиті та перевести кожне натисканням кнопки [> ]. Аналогічно до запиту додаються поля з інших таблиць тієї ж БД.

Примітка.Запит може складатися лише за таблицями або лише за запитами БД. Об'єднання у запиті полів із таблиці та запиту не допускається.

2 Вибір полів для запиту.

Перехресний запитмає вигляд таблиці , в якій виводиться до трьох полів (стовпців) вихідної таблиці, комірки одного з решти перетворюються на нові стовпці, а на їх перетині виводиться одне із зазначених користувачем значень - Дисперсія, Мінімум, Максимум, Середнє, Відхилення, Число, Перше, Останнє та ін. Наприклад, запит на мал. 4 є перехресним запитом таблиці 1 на рис. 3, в якому величини відстаней стали назвами стовпців:

варіант Повторювані записистворює запит на пошук записів (рядків), що повторюються, в одній таблиці або запиті, для таблиці на рис. 3 при заданих полях Відстань та Вартість проїзду він має вигляд (рис.5)

MS Access дозволяє створити такий запит тільки для однієї таблиці або запиту (не для кількох таблиць БД), причому потрібно задавати в ньому

Малюнок 3 Таблиця 1 для створення перехресного запиту


Малюнок 4 Перехресний запит табл. 1

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

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

Рисунок 6 Основна таблиця 1

Запит без підлеглих порівняння таблиць рис. 3 та рис. 6 виведе на екран рядок, що не співпадає (рис. 7):

Ці запити є основою створення більш складних запитів, котрим застосовується режим Конструктора.

Сьогодні ми детально поговоримо про запити до Access.


Запити, як ви знаєте, потрібні до роботи з даними, що у таблицях.
Щоб створити запит…
1) …у вікні бази даних відкриваєте Запити
2) …і створюєте запит за допомогою конструктора.



Будь ласка, НЕ використовуйте для створення запитів Майстром, Тому що він дозволяє робити тільки найпростіші запити, а переробляти їх потім у більш просунуті навіть складніше, ніж створити запит у конструкторі «з нуля».

Відсів порожніх рядків

Коли зв'язуються кілька таблиць, можуть виникати порожні рядки.



Чому це відбувається?
Справа в тому, що у нас у таблиці tbPerson поряд із власниками собак записані і судді (Петровська, Єлець, Терещук). Судді не мають права привозити своїх собак на виставку, тому в рядках з їхніми прізвищами порожні осередки з прізвисько собак.
Є два способи видалення порожніх рядків.
1. Поставити умову значення клички собаки Is not Null, тобто. НЕ ПОРОЖНЯ.



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



Питання: які параметри потрібно змінити в діалоговому вікні параметрів об'єднання?

Запити з обчисленнями

Досі ми лише відбирали записи з різних умов. Але Access дозволяє не тільки переглядати дані, записані в таблицях, але й ВИРАХУВАННЯ: за датою народження визначати вік; з імені, прізвища та по батькові робити прізвище з ініціалами; за ціною одиниці товару та його кількості визначати загальну вартість покупки; за датою видачі книги у бібліотеці визначати величину штрафу при заборгованості та багато іншого. Для обчислень використовуються вбудовані функції (схожі ті, що є в Excel).


Найпростіша операція – це додавання рядків. Напишемо в осередку вираз для виведення такої фрази: власникз міста Місто .
Для цього запишемо у верхньому рядку нового стовпця області умов: + "З міста" +.



Імена полів записуються у квадратних дужках, фрагменти рядків – у лапках, між ними стоять знаки складання.


Вирази для обчислень записуються у верхньому рядку ( Поле) області умов. Досі ми писали умови у нижніх рядках ( Умови відбору).


Щоб вам не заплутатися: у верхньому рядку ми пишемо, ЩО виводити на екран, а потім (у нижньому) – за ЯКОГО УМОВИ.


Завдання: Напишіть вираз для виведення в одному осередку прізвища власника та у дужках міста, в якому він живе. Ось так: Іванов (Москва). Місто та прізвище мають підставлятися з таблиці.

Побудовник виразів

Щоб зручніше було редагувати вирази, існує спеціальний редактор - "Побудовальник виразів". Він виглядає так:



І викликається за допомогою контекстного меню: потрібно поставити курсор на той осередок, куди ви записуватимете вираз:



У виразнику ви можете вибирати з бібліотеки функції:



та дані з таблиць (можна користуватися ТІЛЬКИ тими таблицями, які використовуються в даному запиті та відображені в області даних):



Коли ви подвійним клацанням миші вибираєте зі списку ім'я поля або функцію, Access часто вставляє ще слово "вираз", показуючи, що НА ЦЕ МІСЦЕ можна вставити інші функції та імена полів. Не забувайте видаляти зайві слова «вираз»!


Ми познайомимося з текстовими та тимчасовими функціями, а також з умовним оператором Iif(condition; if-true; if-false).


Текстові функції дозволяють перетворювати рядкові змінні:
Left(«Іванів»; 2) = «Ів» залишає n лівих символів
LCase(«Іванів») = іванів робить усі літери малими
InStr(1; «Іванов»; «але») = 4 знаходить підрядок (третій аргумент) у рядку (другий аргумент), і дорівнює позиції (від початку) підрядка у рядку
Len («Іванів») = 6 виводить кількість символів у рядку
StrComp("Іванов"; "Петрів") = -1 порівнює два рядки: якщо вони рівні, то видає 0
та інші…


Тимчасові дозволяють працювати з тимчасовими змінними:
Month(#12.04.2007#) = 4
Year(#12.04.2007#) = 2007
Day(#12.04.2007#) = 12.
Now() = 28.04.2008 14:15:42 (поточна дата та час)
Date() = 28.04.2008 (сьогоднішня дата)
DateDiff(«d»; #12.04.2007#; #28.04.2007#) = 16 знаходить різницю між двома датами («d» – у днях, ¦ww- у тижнях, m – у місяцях, yyyy - У роках та ін.)
та інші…


Логічні обробляють умовні вирази:
Iif(<=1; «щенок»; «взрослый») аналог функции ЕСЛИ из Ecxel.
та інші…


Завдання: напишіть вираз, який із прізвища, імені та по батькові робить прізвище з ініціалами Іванов Іван Іванович -> Іванов І.І.
Завдання
Завдання
Доповнення: Є два способи обчислити вік собаки: один більш точний, інший менш:
1) з поточного року відняти рік народження собаки;
2) за допомогою функції DateDiff порахувати, скільки днів минуло від народження до сьогодення. Застосуйте в одному із завдань один спосіб, в іншому – інший.

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

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



Влаштований цей запит так:



На тому місці, де зазвичай стоїть умова відбору, тепер записане питання (у квадратних дужках), яке буде задано користувачеві. А відповідь користувача, як ви вже здогадалися, буде підставлена ​​в цей осередок як умова відбору.


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

Запити з угрупуванням

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


Порахуємо скільки собак кожної породи приїхали на виставку. Для цього перекинемо в область умов всього два поля: прізвисько та порода – і викличемо додатковий рядок групові операції(через контекстне меню в області умов):



Тепер згрупуємо собак по породі і порахуємо кількість різних кличок у кожній групі:



Підіб'ємо підсумки виставки і порахуємо середній бал за екстер'єр, середній бал за дресирування та їх суму.


Додаємо в область таблиць таблицю з оцінками (tbMarks). Групуємо оцінки за турнірним номером собаки та серед групових операцій вибираємо середнє значення Avg (від англ. average- Середнє).


Виконайте запит і в режимі відтворення зверніть увагу, що стовпці з груповими операціями мають подвійну назву (операція + ім'я поля). Нам це стане в нагоді при підрахунку суми балів.





Можна також округлити значення до одного символу після коми: Round(+;1)


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

Запити на зміну, видалення, додавання

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



Оператору бази даних напередодні виставки надійшла нова інформація:
1) собака Дезі захворіла і не зможе взяти участі у виставці;
2) помилково Гардієн, що є насправді англійським сетером, був вказаний як ірландський сетер;
3) власник Мігунова подала заявку на участь у виставці ще одного свого собаки (кличка: Гаррі, порода: сетер-гордон, підлога: м, дата народження: 15.09.07).


Приступимо до редагування бази даних.
1) Видалити запис з Дезі.
Створюємо запит quDelDog. Тип запиту – видалення. Зі зміною типу запиту дещо змінюється і область умов. З'явився новий осередок Вилучення. Під нею ви вказуєте умову, яким потрібно відібрати записи, підлягають видалення. Навіть якщо ви вказуєте умову відбору для одного поля, буде видалено ВСЯ запис.



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


2) У Гардієна змінити ірландський сетер на англійський сетер.
Створюємо запит quUpdateDog. Тип запиту – оновлення. Знаходимо Гардієна і оновлюємо породу.



Відкрийте таблицю tbDogі переконайтеся, що у Гардієна порода – англійський сетер.


3) Додати запис із Гаррі.
Створюємо запит quAddDog. Тип запиту – на додавання. Запити на додавання мають одну особливість: в області таблиць відображені НЕ ті таблиці, КУДИ ви додаєте запис, а ЗВІДКИ ви берете дані (якщо це потрібно). Цільову таблицю (до якої додаються записи) ви вказуєте у діалоговому вікні, яке з'являється відразу, як тільки ви встановите тип запиту (додавання):



Оскільки ми не беремо дані з інших таблиць, а створюємо новий запис, то область таблиць має бути ПОРОЖНІЙ! (Там не повинно бути жодної таблиці). В області умов у рядку Полеви пишете, ЩО додати (нове значення для кожного поля), а в рядку ДодаванняКУДИ (імена полів):



Відкрийте таблицю tbDogі переконайтеся, що Гаррі з'явився в ній!

Мова запитів SQL

Коли ви натискаєте на знак оклику, запит виконується. Так це видається з погляду новачка.
Фахівці знають, що насправді зараз виконується інструкція спеціальною мовою запитів SQL. Річ у тім, що Access – єдина система управління базами даних (СУБД). Можливо, ви чули про такі СУБД в Інтернеті як MySQL, FreeBSD? Access просто пропонує дуже зручний інтерфейс для роботи з БД, а в інших СУ немає жодної кнопочки зі знаком оклику. Проте там обов'язково є спеціальне віконце, в якому можна писати SQL-інструкції.
Access також дозволяє редагувати запити в режимі SQL-інструкцій:



Правила мови SQL негаразд складні. Ви можете самі переконатися в цьому! Зробіть простий запит на вибірку (наприклад, виведіть прізвисько, породу та дату народження собаки на прізвисько Гаррі). Відкрийте запит на пошук Гаррі в режимі SQL!
Інструкція влаштована дуже просто:
SELECT поле1, поле2,...
FROM таблиця1, таблиця2,…
WHERE умова1, умова2, ...


Відкрийте тепер запити на оновлення, зміну, видалення (quDelDog, quUpdateDog, quAddDog) в режимі SQL і випишіть на аркуші паперу шаблони їхніх SQL-інструкцій (як це було зроблено для запиту на вибірку).


Запити з параметром, запити на групування, запити з обчисленнями являють собою такі ж SQL-запити, але з дещо складнішими умовами відбору. Мова SQL – незамінний інструмент для тих, хто працює з базами даних!

Завдання

Ось ті теми, які ми розглянули:
- прості та складові умови відбору
- Оператор LIKE
- вибірка з кількох таблиць
- будівник виразів
- запити з параметром
- запити на угруповання
- Запити на оновлення, додавання, видалення
- Мова запитів SQL.


Їх чимало! Але, якщо ви їх освоїли, ви можете знайти в базі даних будь-яку інформацію.


Перевірте знання! Виконайте у вашій базі даних наступні запити (або перейменуйте вже виконані так, щоб їх імена збігалися з іменами завдань):

1. вибірка

quSelectDog: Знайдіть всіх шар-пеїв та сеттерів-гордонів з регіонів (НЕ з Москви); використовуйте оператор "не рівно".

2. оператор Like

quLike: Знайдіть усіх абонентів МТС (ті, у кого номер мобільного телефону починається з 8(916)…).

3. вирази

quEvalText: Напишіть вираз, який з прізвища, імені та по батькові робить прізвище з ініціалами Іванов Іван Іванович -> Іванов І.І.
quEvalDate: напишіть вираз, який обчислює, скільки собаці років за датою її народження
quEvalIif: напишіть вираз, який визначає за віком, у якій віковій категорії виступає собака: «цуценя» - до року; «юніор» – від року до двох років; «сеньйор» - старше двох років.
Доповнення: Застосуйте в одному завданні один спосіб обчислити вік собаки, в іншому - інший: 1) від поточного року відняти рік народження собаки; 2) за допомогою функції DateDiff порахувати, скільки днів минуло від народження до сьогодення.

4. параметр

quParametre: Створіть запит, який виводитиме всіх собак на прізвище власника, що є вільним параметром.

5. угруповання

quGroup: З'ясуйте, який собака викликав найбільш суперечливі думки суддів

6. редагування БД

Незадовго до виставки власник Гороховець поїхав на ПМП (постійне місце проживання) до Німеччини та передав усіх собак своєму другові Карпову Михайлу Ігоровичу. Потрібно:
1) quAddOwner: додати запис про нового власника;
2) quUpdateOwner: змінити у собак Горохівця ID власника на ID Карпова;
3) quDelOwner: видалити Горохівця з бази даних


Чекаю на ваші БД з виконаними завданнями, а також шаблони SQL-інструкцій для запитів на оновлення, зміну, видалення.

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

Як створити запит на вибірку в Access за допомогою Конструктора

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

На малюнку чітко видно, що дані не впорядковані і переглядати їх у такому вигляді не дуже зручно. При формуванні запиту цей параметр слід пам'ятати. Для цього в бланку слід використовувати рядок під назвою «Сортування», за допомогою якого можна вибудувати список надбавок починаючи від максимального, закінчуючи мінімальним значенням.

Крім цього, можна створювати в Access запит на вибірку з умовою: для цього в полі «Умови відбору» слід задати необхідний параметр (певну суму окладу, переглянути надбавки тільки в інженерів проекту тощо).