Створення таблиць в режимі «Мастер таблиц».
Майстер таблиць дозволяє для кожної таблиці вибрати поля з множини наперед визначених таблиць. Побудова таблиць виконується відповідно покроковим інструкціям майстра. Недоліком цього способу є обмеженість множини пропонованих таблиць та полів.
Введення даних у таблиці
Введення даних може бути виконано безпосередньо в режимі таблиць. Якщо до цього моменту зв’язки між таблицями ще не встановлені, то забезпечення коректності введення покладається на користувача. При введенні система перевіряє на відповідність даних, що вводяться, властивостям поточного поля і при необхідності перетворює дані у відповідний тип.
Для введення даних типу Поле объекта OLE необхідно активізувати комірку цього поля і виконати команду меню Вставка - Объект..., в результаті чого на екрані відобразиться діалогове вікно «Вставка объекта».
Використовуючи це діалогове вікно, виконуються дії з пошуку і вибору потрібного об’єкта (наприклад, точковий малюнок з фотографією працівника тощо).
Зв’язування таблиць
Для спрощення конструювання богатотабличних форм, запитів і звітів створені таблиці повинні бути зв’язані. Цей зв’язок забезпечується схемою даних, що визначається інформаційно-логічною моделлю предметної області.
Для створення зв’язків між таблицями, крім ключових полів, потрібно задати зовнішні ключі. Зовнішній ключ – одне або кілька полів, що містять посилання на ключове поле іншої таблиці. Поле зовнішнього ключа визначає спосіб зв’язування таблиць; значення такого поля повинно збігатися зі значенням ключового поля. Прикладом зовнішнього ключа може слугувати поле «КодГрупи» таблиці «Товари».
Розглянемо види зв’язків між таблицями:
Зв’язок ”один-до-одного”. В цьому випадку одному запису у таблиці А відповідає один запис у таблиці В і навпаки, одному запису у таблиці В відповідає один запис у таблиці А. Цей тип зв’язку використовують рідко, оскільки такі дані можуть бути розміщені в одній таблиці. Зв’язок ”один-до-одного” використовується для розбиття дуже широких таблиць, для відділення частини таблиці з метою захисту інформації від несанкціонованого доступу, а також у випадку, коли друга таблиця є підмножиною записів для першої. Такий зв’язок створюється між ключовими полями двох таблиць.
Зв’язок ”один-до-багатьох”. В цьому випадку кожному запису у таблиці А може відповідати декілька записів у таблиці В і одному запису у таблиці В – лише один запис у таблиці А. Цей вид зв’язку використовується найчастіше. Такий зв’язок може бути встановлений між таблицями ”Групи товарів” і ”Товари”, оскільки товари належать до певної групи товарів і не можуть більше належать до іншої групи. Зв’язок ”один-до-багатьох” створюється між ключовим полем таблиці на стороні ”один” і зовнішнім ключем на стороні ”багато”.
Зв’язок ”багато-до-багатьох”. В цьому випадку одному запису в таблиці А можуть відповідати декілька записів у таблиці В і навпаки, одному запису в таблиці В – декілька записів у таблиці А. Такий зв’язок реалізується за допомогою третьої таблиці, ключ якої складається не менші ніж з двох полів, кожне з яких є полем зовнішнього ключа в таблицях А і В. Вищезгадані таблиці ”Товари” та ”Замовлення” можуть бути зв’язані за допомогою третьої таблиці ”Обсяги замовлень”. В одне замовлення може входити декілька товарів і один і той же товар входить в різні замовлення.
Створення схеми даних починається з виконання команди меню Сервис - Схема данных чи клацанням на кнопці панелі інструментів. У результаті цього на екрані відображається діалогове вікно «Схема даних» і при першому виклику - діалогове вікно «Добавление таблицы» (рис. 1.7).
Рис. 1.7 - Вікна «Схема данных» і «Добавление таблицы»
Вибір потрібної таблиці (запиту чи таблиці і запиту) і клацання на кнопці «Добавить» забезпечує її включення в схему даних. Після включення всіх потрібних таблиць вікно закривається клацанням на кнопці «Закрыть».
Для того, щоб
повторно викликати діалогове вікно
«Добавление
таблицы»,
необхідно виконати команду меню Связи
- Добавить
таблицу
чи клацнувши на кнопці
панелі інструментів «Связи».
У вікні «Схема данных» встановлення зв’язку між кожною парою таблиць здійснюється виділенням та «перетягуванням» ключового поля головної таблиці у відповідне поле підлеглої таблиці. При цьому відкривається вікно «Связи» для визначення параметрів зв’язку (рис. 1.8). За допомогою елементів управління цього вікна можуть бути встановлені режими забезпечення цілісності даних, каскадного відновлення чи видалення даних, а також параметри об’єднання даних.
Рис. 1.8 - Вікно «Изменение связей»
Схема даних бази даних «Склад» зображена на рис. 1.9.
Рис. 1.9 - Вікно «Схема данных» бази даних «Склад»
Перехід у режим редагування зв’язку забезпечує подвійне клацання мишкою по лінії зв’язку.
Завдання
Розробити структуру бази даних і структуру таблиць, які входять в неї, відповідно до Вашого варіанта. У таблицях №1-4 перше поле визначити як ключове, а в таблиці №5 – перших два поля.
Виконати конструювання перших двох таблиць в режимі Таблиця, решта таблиць бази - у режимі Конструктор.
Визначити типи зв’язків між таблицями. Сконструювати схему даних. Виконати дії щодо її редагування.
Увести дані в таблиці в порядку їх слідування. Таблиця №1,№3 повинна містити не менше 3-х записів. Таблиця №2,№4 повинна містити не менше 10-ти записів. Остання таблиця – не менше 25-ти записів. У третій таблиці передбачити введення запису під власним прізвищем.
Розроблену базу даних зберегти у своїй папці на диску і на диску A:.
Звіт з лабораторної роботи, виконаний у додатку MS Word, повинний містити тему і мету роботи, опис послідовності виконання завдання, роздрукування таблиць з введеними даними, діалогових вікон схеми даних, а також висновки до роботи.
Варіанти завдань
Введені такі скорочення типів даних: с–счетчик, ч–числовой; т–текстовый ; д/в–дата/время ; д–денежный.
Варіант 1
Реалізувати базу даних обліку продажу товарів продавцями продуктового мінімаркету, яка буде містити такі таблиці:
Групи товарів (КодГрупи(ч), НазваГрупи(т)).
Товари (КодТовару(ч), НазваТовару(т), КодГрупи(ч), Ціна(д), На складі(ч)).
Продавці (КодПродавця(ч), ПІП(т), Адреса(т), РікПрийо-му(ч), Оклад(д)).
Продаж товарів (КодПродажу(с), КодПродавця(ч), Дата(д/в)).
Об’єми продажів (КодПродажу(ч), КодТовару(ч), Кількість(ч)).
Варіант 2
Реалізувати базу даних обліку послуг, наданих співробітниками салону краси за зміну, яка буде містити такі таблиці:
Відділи салону(КодВідділу(ч), НазваВідділу(т)).
Послуги (КодПослуги(ч), НазваПослуги(т), КодВідділу(ч), Ціна(д)).
Співробітники (КодСпівробітника(ч), ПІП(т), Адреса(т), Посада(т), РікПрийому(ч), Оклад(д)).
Замовлення співробітникам (КодЗамовлення(с), КодСпівробітника(ч), Дата(д/в)).
Обсяги наданих послуг(КодЗамовлення(ч), КодПослуги(ч)).
Варіант 3
Реалізувати базу даних обліку продажу косметичної продукції консультантами , яка буде містити такі таблиці:
Групи товарів (КодГрупи(ч), НазваГрупи(т)).
Товари (КодТовару(ч), НазваТовару(т), КодГрупи(ч), Ціна(д), На складі(ч)).
Консультанти (КодКонсультанта(ч), ПІП(т), Адреса(т), РікПрийому(ч), Оклад(д)).
Продаж товарів (КодПродажу(с), КодКонсультанта(ч), Дата(д/в)).
Об’єми продажів (КодПродажу(ч), КодТовару(ч), Кількість(ч)).
Варіант 4
Реалізувати базу даних обліку виготовленої продукції робітниками фабрики з пошиття одягу на замовлення, яка буде містити такі таблиці:
Цехи (КодЦеху(ч), НазваЦеху(т)).
Вироби (КодВиробу(ч), НазваВиробу(т), КодЦеху(ч), ЦінаПошиття(д)).
Робітники (КодРобітника(ч), ПІП(т), Адреса(т), РікПрийому(ч), Посада(т), Оклад(д)).
Замовлення (КодЗамовлення(с), КодРобітника(ч), Дата(д/в)).
Вміст замовлень(КодЗамовлення(ч), КодВиробу(ч), Кількість(ч)).
Варіант 5
Реалізувати базу даних обліку виконаних робіт працівниками фірми, що займається ремонтними послугами на замовлення, яка буде містити такі таблиці:
Види робіт (КодВиду(ч), НазваВиду(т)).
Роботи (КодРоботи(ч), НазваРоботи(т), КодВиду(ч), Оплата(д)).
Робітники (КодРобітника(ч), ПІП(т), Адреса(т), РікПрийому(ч), Посада(т), Оклад(д)).
Замовлення(КодЗамовлення(с), КодРобітника(ч), ДатаВико-нання(д/в)).
Обсяги виконаних робіт (КодЗамовлення(ч), КодРоботи(ч)).
Варіант 6
Реалізувати базу даних обліку прийнятих менеджерами замовлень для рекламного агентства, яка буде містити такі таблиці:
Види реклами(КодВиду(ч), Назва(т)).
Реклами(КодРеклами(ч), НазваРеклами(т), Код виду(ч), ОплатаХвилини(д)).
Менеджери (КодМенеджера(ч), ПІП(т), Адреса(т), РікПрийому(ч), Оклад(д)).
Замовлення(КодЗамовлення(с), КодМенеджера(ч), Замов-ник(т), Дата(д/в)).
Обсяги прийнятих замовлень (КодЗамовлення(ч), КодРеклами(ч), Тривалість(ч)).
Варіант 7
Реалізувати базу даних обліку продажів товарів менеджерами мобільного салону, яка буде містити такі таблиці:
Виробники(КодВиробника(ч), НазваВиробника(т)).
Товари(КодТовару(ч), НазваТовару(т), КодВиробника(ч), Ціна(д), На складі(ч)).
Менеджери (КодМенеджера(ч), ПІП(т), Адреса(т), РікПрийому(ч), Оклад(д)).
Продаж товарів (КодПродажу(с), КодМенеджера(ч), Дата(д/в)).
Обсяги продажів (КодПродажу(ч), КодТовару(ч), Кількість(ч)).
Варіант 8
Реалізувати базу даних обліку наданих послуг менеджерами туристичного агентства, яка буде містити такі таблиці:
Вид туризму(КодВиду(ч), НазваВиду(т)).
Путівки (КодПутівки(ч), МісцеВідпочинку(т), Код виду(ч), ТривалістьДнів(ч), Оплата(д), Наявність(ч)).
Менеджери (КодМенеджера(ч), ПІП(т), Адреса(т), РікПрийому(ч), Оклад(д)).
Замовлення (КодЗамовлення(с), КодМенеджера(ч), ДатаОформлення(д/в)).
Обсяги замовлень(КодЗамовлення(ч), КодПутівки(ч), ДаніКлієнта(т), Кількість(ч)).
Варіант 9
Реалізувати базу даних обліку наданих послуг менеджерами відеосалону, яка буде містити такі таблиці:
Види носіїв(КодВиду(ч), Назва(т)).
Носії (КодНосія(ч), Автор_Назва(т), КодВиду(ч), ЦінаПрокату(д), На складі(ч)).
Менеджери (КодМенеджера(ч), ПІП(т), Адреса(т), РікПрийому(ч), Оклад(д)).
Замовлення (КодЗамовлення(с), КодМенеджера(ч), ДатаВидачі(д/в) ).
Вміст замовлення (КодЗамовлення(ч), КодНосія(ч), ТермінЕксплуатації(ч), ДаніКлієнта(т)).
Варіант 10
Реалізувати базу даних обліку продажу книг менеджерами видавництва, яка буде містити такі таблиці:
Відділи видавництва(КодВідділу(ч), НазваВідділу(т)).
Книги(КодКниги(ч), Автор_Назва(т), КодВідділу(ч), РікВидання(ч), Ціна(д), КількістьПримірників(ч)).
Менеджери (КодМенеджера(ч), ПІП(т), Адреса(т), РікПрийому(ч), Оклад(д)).
Продаж книг (КодПродажу(с), КодМенеджера(ч), Дата(д/в)).
Обсяги продажів (КодПродажу(ч), КодКниги(ч), Кількість(ч)).
Контрольні запитання
Дайте характеристику основних можливостей СУБД MS Access.
Дайте характеристику основним елементам вікна додатка MS Access.
Як створити файл бази даних?
Які основні способи створення бази даних засобами MS Access?
Перелічіть об’єкти бази даних. Дайте їм коротку характеристику.
Які ви знаєте режими створення структур таблиць, у чому полягають їх особливості?
Які типи даних можуть бути привласнені полям таблиці? Дайте кожному типові коротку характеристику.
Які типи зв’язків можуть бути встановлені між таблицями бази даних?
Що означає поняття «цілісність даних» в базі даних?
Якої послідовності завантаження таблиць треба дотримуватися і чому?
Загальні положення
Запит у системі Access використовують для пошуку з однієї чи кількох таблиць та виводу на екран даних, які відповідають умові, визначеній користувачем. У СУБД MS Access в залежності від заданої задачі може бути створено кілька видів запитів.
Створення запиту
починається за командою
об’єкта «Запросы» вікна бази даних. У
діалоговому вікні «Новый запрос» (рис.
4.1), що відкрилося, вибирається засіб
створення запиту. Це може бути «Конструктор»
чи один з Майстрів: «Простой запрос»,
«Перекрестний запрос» і т.д. Якщо для
створення запиту обраний один з Майстрів,
у лівій частині вікна відображається
малюнок «чарівна паличка».
Рис. 4.1 - Вікно «Новый запрос»
Створення простих
запитів за допомогою Майстра.
Послідовність дій при використанні
Майстра запитів розглянемо на прикладі
формування відомостей про ціну товару.
Команда Простой
запрос активізує
вікно «Создание простых запросов» (рис.
4.2), за допомогою якого послідовно
вибираються потрібні таблиці з списку
«Таблицы/Запросы» і поля зі списку
«Доступные поля», використовувані в
запиті. Імена потрібних полів для запиту
передаються у вікно «Выбранные поля»
за допомогою кнопок -
,
.
Рис. 4.2 - Вікно «Создание простых запросов» (крок 1)
Пропонується з таблиці «Товари» вибрати такі поля: НазваТовару, Ціна.
Після вибору таблиць і їхніх полів клацанням на кнопці Далее активізується чергове вікно «Создание простых запросов» (крок 2), представлене на рис. 4.3, за допомогою якого задається тип запиту.
Рис. 4.3 - Вікно «Создание простых запросов» (крок 2)
Після клацання на кнопці Далее активізується чергове вікно «Создание простых запросов» (крок 3), представлене на рис. 4.4, за допомогою якого задається ім’я запиту, наприклад, «Ціни товарів» і встановлюється режим роботи системи.
Рис. 4.4 - Вікно «Создание простых запросов» (крок 3)
За допомогою альтернативного перемикача «Открыть запрос для просмотра данных» після клацання на кнопці Готово на екран викликається вікно «Ціни товарів: запрос на выборку» з результатами вибірки (рис. 4.5). При включенні перемикача «Изменить макет запроса» забезпечується перехід до Конструктора з метою редагування запиту.
Рис. 4.5 - Вікно «Ціни товарів: запрос на выборку»
Створення запитів за допомогою Конструктора. За допомогою Конструктора створюються запити, коли в них необхідно мати поля з обчисленнями чи коли використовуються дані із декількох таблиць або раніше створених запитів.
Розглянемо приклад створення запиту, який буде відображати вартість кожного замовленого товару.
Для активації вікна Конструктора досить вибрати режим «Конструктор» вікна «Новый запрос». При цьому відкривається вікно «Добавление таблицы» (рис. 4.6), за допомогою якого вибираються потрібні для запиту таблиці чи запити клацанням на кнопці Добавить.
Рис. 4.6 - Вікно «Добавление таблицы»
Після вибору необхідних для запиту таблиць і клацання на кнопці Закрыть на екрані відображається вікно Конструктора запитів «Запрос 1: запрос на выборку » (рис. 4.7).
Рис. 4.7 - Вікно «Заспрос1: запрос на выборку»
Вікно Конструктора запиту на вибірку розділено на дві частини. Верхня частина вікна містить схему даних запиту, що включає обрані таблиці зі списками їхніх полів і зв’язку між ними. У цій схемі користувачем у разі потреби можуть бути встановлені нові зв’язки між таблицями. Нижня частина вікна є бланком запиту за зразком. Кожен стовпець бланка відноситься до одного поля. Поля можуть використовуватися для включення їх у результат виконання запиту, для сортування за даним полем і для завдання умов вибору. При заповненні бланка запиту необхідно виконати такі дії:
- у рядок «Поле» включити імена використовуваних полів шляхом їхнього «перетягуванням» з відповідної таблиці верхньої панелі вікна. Передачу всіх полів таблиці можна зробити за допомогою «перетягуванням символу «*». У рядку «Имя таблицы» автоматично відображається ім’я тієї таблиці чи запиту, з якого обране поле;
- у рядку «Сортировка» вказати порядок сортування запитів у результуючій таблиці («по возрастанию» чи «по убыванию»). Результати запитів можуть сортуватися за одним чи декількома полями. У разі потреби сортування скасовується установкою параметра сортування «отсутствует»;
- у рядку «Вывод
на екран» відзначити поля, що включаються
в результуючу таблицю, установкою
прапорця
;
- у рядку «Условия отбора» сформувати логічні умови (критерії) добору записів, що можуть містити мета символи, а також логічні функції И і ИЛИ.
У разі потреби непотрібні поля після їхнього виділення видаляються клавішею <Delete>. Видалення всіх полів із бланка запиту виконується за командою меню Правка – Очистить бланк.
У нижній панелі вікна запиту на вибірку можна формувати поля з обчисленнями, там можуть формуватися і підсумкові поля із застосуванням групових функцій. Поля, що обчислюються, створюються тоді, коли в таблицях бази даних немає необхідних даних, але вони можуть бути визначені на основі наявних. При формуванні полів, що обчислюються, можуть використовуватися арифметичні вирази й вбудовані функції.
Вирази вводиться в порожній осередок рядка «Поле» вільного стовпця бланка запиту. При клацанні на цьому полі автоматично формується ім’я поля «Выражение N», де N – порядковий номер поля, що обчислюється. Після імені поля записується вираз, відокремлюваний від імені символом «:». Наприклад, якщо в результуючу таблицю необхідно включити поле, у якому буде відображатися вартість замовленого товару, то поле, що обчислюється, буде мати наступний вигляд:
Выражение 1: [Товари]![Ціна]*[Обсяги замовлень]![Кількість]
де [Товари] – ім’я таблиці; [Ціна] – ім’я поля.
Ім’я поля, що обчислюється, можна змінити, ввівши в бланк запиту замість Выражение 1 нове ім’я (наприклад, Вартість). У цьому випадку бланк запиту на вибірку буде мати вигляд, представлений на рис. 4.8.
У результуючій таблиці можна змінити порядок проходження її полів, зафіксувати чи сховати визначені поля, установити інший шрифт, розміри рядків і стовпців і т.д. Усі ці процедури виконуються безпосередньо чи за допомогою відповідних команд меню Формат.
Рис. 4.8 - Бланк запиту з полем, що обчислюється
Розглянутий вище запит за зразком має жорстко задані умови вибору за товаром «Сік томатний “Садочок”». Зауважимо, що слова в лапках слід заключити ще раз в лапки:
Оперативна зміна умов вибору завдає ускладнень. З огляду на це, у MS Access може використовуватися спеціальний тип запиту на вибірку – запит з параметром, що має такий формат:
Like[текст], де Like – оператор (команда) мови SQL; [текст] – будь-який текст звертання до користувача, наприклад, «Введіть назву товару:» тощо.
Цей оператор записується в рядок «Условия отбора» нижньої панелі бланка запиту в звичайному порядку (рис. 4.9). Якщо не використовуються мета символи, оператор Like можна упустити.
Рис. 4.9 - Бланк запиту з параметром
Після запуску такого запиту до виконання на екран викликається вікно «Введите значение параметра» (рис. 4.10), у поле якого вводиться одне з можливих значень параметра.
Рис. 4.10 - Діалогове вікно з параметром запиту
При необхідності формування запиту, що складається з декількох параметрів, вони будуть виводитися у тій послідовності, у якій вони зазначені в бланку запиту.
Використання оператора Like і метасимволів дозволяє знайти необхідні записи в таблиці лише за фрагментом написання параметра. Наприклад, після введення «Сік *» з’являться всі записи що починаються зі слова «Сік». Після введення «[В-М]*» з’являться всі записи починаючи з літери В і закінчуючи літерою М.
Формування полів, що обчислюються, засобами Построителя выражений. Для складних обчислень і при використанні даних декількох таблиць заповнення поля, що обчислюється, доцільно виконувати за допомогою Построителя выражений.
Для конструювання запиту з таким полем необхідно клацнути на імені вільного поля, клацанням правої кнопки миші викликати контекстне меню й виконати команду Построить.... У результаті цього на екрані відобразиться діалогове вікно «Построитель выражений» (рис. 4.11). Вибираючи потрібні об’єкти бази даних, кнопки арифметичних, логічних операцій і кнопки логічних відносин у верхнім вікні варто набрати потрібний вираз. У виразі назви таблиць і імена їхніх полів укладені в квадратні дужки і між ними поміщений знак «!». Ці роздільники встановлюються системою за замовчуванням без втручання користувача.
Клацнувши на кнопку OK вираз передається в бланк-запит і розміщається за іменем поля та відокремлюється від нього двокрапкою «:». У разі потреби вікно, в якому відображається вираз, можна редагувати.
Рис. 4.11 - Вікно «Построитель выражений» з виразом для розрахунку вартості замовленого товару
Створений запит
виконується за командою меню Запрос
- Запуск
чи за допомогою однойменної кнопки
панелі інструментів.
Після запуску на виконання сформованого запиту на екрані відобразиться фрагмент переліку замовлень Соку томатного «Садочок» :
Рис. 4.12 - Фрагмент переліку замовлень з обчислювальним полем і критерієм відбору
Побудовник виразів може бути використаний не тільки для створення полів результуючої таблиці, але і для конструювання умов вибору.
При цьому в рядку «Условия отбора» (рис. 4.9) за допомогою «Построитель выражений» можуть вводитися критерії вибору записів з вихідних таблиць.
Наприклад, якщо необхідно сконструювати запит на вибірку для одержання переліку замовлених товарів протягом січня 2006 року, необхідно:
- у бланку запиту, у полі «Дата», активізувати контекстне меню осередку «Условия отбора» і виконати команду Построить... ;
- у вікні «Построителя выражений» (рис. 4.13), що з’явилося, відкрити папку «Операторы», вибирати операцію «Сравнения» і її оператор Between;
- по команді Вставить в області перегляду вікна «Построитель выражений» з’явиться шаблон виду
Between «Выражение » And «Выражение »
- в шаблон ввести дату початку періоду (наприклад, 01.01.2006) і дату закінчення періоду (31.01.2006), виділяють дату символи: #…..#:
Рис. 4.13 – Вікно «Построитель выражений» для умов вибору за полем «Дата»
Рис. 4.14 – Бланк запиту на вибірку «Замовлення за січень»
Запуск на виконання цього запиту здійснюється зазначеним вище способом.
Використання групових операцій. Групові операції дають змогу поєднувати записи в групи з однаковими значеннями і використовувати для цих груп одну зі статистичних функцій для проведення підсумкових розрахунків (Sum – сума, Avg – середнє значення, Min – найменше значення, Max – найбільше значення, Count – кількість значень, StDev – середньоквадратичне відхилення, Var - дисперсія). За замовчуванням встановлюється значення Группировка.
Розглянемо наступний приклад. Необхідно сконструювати запит на вибірку з групуванням даних, а саме: визначити для всіх замовників вартість кожного з їх замовлень.
При заповненні бланка запиту необхідно виконати наступні дії:
- у рядок «Поле» включити імена використовуваних полів шляхом їхнього «перетягуванням» з відповідної таблиці верхньої панелі вікна;
- увести обчислювальне поле:
Сума: [Товари]![Ціна]*[Обсяги замовлень]![Кількість]
(див. створення попереднього запиту);
- активізувати
команду Вид
- Групповые операции, або
клацнути на панелі інструментів на
кнопці -
,
або вибрати цю команду в контекстному
меню, що з’являється при клацанні правою
клавішею мишки на бланку запиту;
- у рядку «Групповая операция» для полів «НазваЗамовника», «КодЗамовлення» встановити «группировка», для обчислювального поля «Сума» - операцию sum;
- у рядку «Сортировка» для поля «КодЗамовлення» таблиці «Замовлення» можна вказати порядок сортування запитів у результуючій таблиці «по возрастанию» .
Рис. 4.15 - Бланк запиту для групової операції
Рис. 4.16 – Результат виконання запиту для групової операції
Розглянемо приклад запиту з групуванням даних, результатом котрого є визначення залишку товарів на складі після їх продажу замовникам.
Цей запит у режимі Конструктора буде мати такий вигляд:
Рис. 4.17 - Бланк запиту для групової операції
Рис. 4.18 – Результат виконання запиту для групової операції
Конструювання запитів різних типів. Засобами MS Access можуть бути сконструйовані запити на створення таблиці, на відновлення, додавання і видалення записів з таблиць, а також перехресний запит. Всі вони ґрунтуються на запиті на вибірку. Розглянемо послідовність конструювання деяких з них.
Запит на створення таблиці використовується для збереження результату запиту в новоствореній таблиці і відрізняється від запиту на вибірку тим, що забезпечує включення нової таблиці до складу таблиць поточної бази даних чи експортування таблиці в іншу базу даних. Для конструювання такого запиту необхідно створити запит на вибірку чи викликати в режимі Конструктора раніше створений запит.
Викликаємо
попередньо створений запит, який
демонструє суми закупок замовниками
товарів. За допомогою команди меню
Запрос–Создание
таблицы чи
клацанням на кнопці
- Тип запроса
на панелі «Конструктор запросов»
викликаємо діалогове вікно «Создание
таблицы» (рис. 4. 19).
Рис. 4.19 - Вікно «Создание таблицы»
У вікно «Имя таблицы» необхідно ввести ім’я нової таблиці й клацнути на кнопці ОК. Створена таблиця може бути включена в список таблиць поточної бази даних чи експортована в іншу базу, ім’я якої вказується в нижнім вікні. Після визначення імені нової таблиці запит необхідно запустити на виконання клацанням на кнопці чи виконати команду меню Запрос – Запуск.
Запит на відновлення. Послідовність конструювання запиту цього типу розглянемо на прикладі запиту на відновлення ціни товару таблиці «Товари» , створивши попередньо запит на вибірку (рис. 4.20).
Рис. 4.20 - Запит на вибірку «Зміна ціни товару»
Після виконання команди меню Запрос – Обновление нижня панель бланка запиту змінюється: з’являється рядок «Обновление» (рис. 4.21), в якій формуються правила відновлення (наприклад, запит з параметром).
Рис. 4.21 – Бланк запиту на відновлення
При запуску на виконання такого запиту з параметрами на екрані послідовно відображаються вікна для введення відповідних параметрів (рис. 4.22).
Рис. 4.22 - Вікна для введення параметрів запиту
Сконструйований запит може бути тепер багаторазово запущений на виконання для відновлення ціни по інших товарах.
Запит на додавання. Такий запит забезпечує додавання одного чи декількох записів, що відповідають умовам вибору, у кінець однієї чи декількох таблиць. Для конструювання запиту необхідно створити запит на вибірку для вихідної таблиці. Після цього необхідно змінити зазначеним вище способом тип запиту, увівши команду Добавить, у результаті чого з’являється діалогове вікно, у якому в полі імені варто ввести ім’я таблиці – спадкоємця записів (рис. 4.23).
Рис. 4.23 - Вікно «Добавление»
Сконструйований запит варто зберегти в поточній чи іншій базі даних, скориставшись альтернативним перемикачем.
Запит на видалення. Такий запит дозволяє видаляти запис з однієї чи декількох зв’язаних таблиць. У другому випадку при визначенні схеми даних у діалоговому вікні «Изменение связей» обов’язково повинен бути встановлений режим каскадного видалення. Розглянемо приклад запиту на видалення всіх замовлень за січень 2006.
Після виконання команди меню Запрос – Удаление нижня панель бланка запиту змінюється: з’являється рядок «Удаление» (рис. 4.24), в якому формуються правила відновлення :
Рис. 4.24 - Бланк запиту на видалення записів
Попередній перегляд
результату може бути виконаний клацанням
на кнопці
панелі інструментів, а каскадне видалення
записів - клацанням на кнопці
чи за командою меню Запрос
– Запуск.
Перехресний запит. Цей запит створюється за допомогою Майстра, що запускається вибором відповідної команди в діалоговому вікні «Новый запрос» (рис. 4.1). Майстер створює таблицю, у якій лівий стовпець утворить заголовки рядків зі значень одного обраного поля таблиці, верхній рядок утворить заголовки стовпців зі значень іншого поля таблиці. На перетині рядків і стовпців розміщатимуться підсумкові значення, обчисленні за значеннями третього поля. Для одержання підсумкових значень виробляється угруповання по полях, використовуваних для заголовків рядків і стовпців. Для значень третього поля, для групових записів, використовується вибрана статична функція.
Крім цього, перехресний запит може бути створений за допомогою Конструктора, створивши спочатку запит на вибірку, і потім перетворивши його в перехресний запит за допомогою команди меню Запрос - Перекрестный.
Наприклад, необхідно створити запит, який виводить інформацію про загальний обсяг продаж кожного виду товару в розрізі місяців. Доцільно результати вивести у вигляді такої таблиці: по рядках розмістити назви товарів, а по стовпцях – номери місяців. У цьому випадку бланк запиту буде мати вигляд, представлений на рис. 4.25:
Рис. 4.25 - Бланк Конструктора перехресного запиту
В даному випадку ми отримаємо обсяги продажів товарів за кожний місяць.
Результат виконання цього запиту представлений на рис. 4.26.
Рис. 4.26 - Результат виконання перехресного запиту
