- •Методичні вказівки
- •1.2. Що таке “Бази даних”?
- •1.3. Архітектура Microsoft Access
- •1.4. Створення нової бази даних
- •1.5 Створення таблиці в режимі конструктора
- •1.5.1 Визначення полів
- •1.5.2 Типи даних
- •1.5.3. Властивості полів
- •1.6. Первинний ключ і зв'язування таблиць
- •1.7. Обмеження для бази даних
- •1.8. Зміна проекту бази даних
- •Робота з даними
- •2.1. Використання режиму таблиці
- •Перегляд даних
- •2.1.2. Зміна макета таблиці
- •2.1.3. Зміна даних
- •2.1.4. Сортування й пошук даних
- •2.2. Робота з даними за допомогою запиту на вибірку
- •2.2.1. Вибір даних з однієї таблиці
- •2.2.2. Багатотабличні запити
- •2.3. Структурована мова запиту (sql)
- •Використання форм
- •3.1. Основні відомості про форми
- •3.1.1. Застосування форм
- •3.1.2. Огляд форм
- •3.1.3. Створення простої форми для введення даних
- •3.1.4. Створення форми за допомогою майстра
- •3.2. Розробка складної форми
- •3.2.1. Створення форми на основі багатотабличного запиту
- •3.2.2. Створення й впровадження підлеглих і багатосторінкових таблиць
- •3.2.3. Об'єкти ole у формі
- •3.3. Робота з даними в режимі форми
- •3.3.1. Перегляд даних
- •3.3.2. Додавання записів і зміна даних
- •3.3.3. Пошук і сортування даних
- •Розробка звітів
- •4.1. Основні відомості про звіти
- •4.2. Створення звіту
- •4.2.1. Створення звіту в режимі конструктора
- •4.2.2. Створення звіту за допомогою майстра
- •4.3. Використання полів, що обчислюються
- •Загальні відомості про макроси
- •5.1. Використання макросів
- •5.2. Створення простого макросу
2.2.2. Багатотабличні запити
Всі можливості запитів, заснованих на одній таблиці, можна застосувати й при об'єднанні даних з декількох зв'язаних таблиць. Зв'язок між базовими таблицями можна задати за допомогою первинних ключів, або командами Сервис→ Схема данных. Всі інші дії при створенні запитів точно такі ж, як і розглянуті раніше.
2.3. Структурована мова запиту (sql)
Запит, що створюється за допомогою бланка QBE, буде зберігатися у комп'ютері у вигляді директиви SQL, яку називають повідомленням. При роботі з Access сама мова SQL від нас звичайно схована. Наприклад, всі операції із запитами виконуються з використанням SQL, але при цьому ми бачимо на екрані лише бланк форми запиту. Повідомлення SQL і вікна бланка запиту зв'язані динамічно: будь-яка зміна в одному з них автоматично приводить до зміни в іншому.
При створенні більшості запитів знання мови SQL не потрібно й досить бланка QBЕ, однак, нерідко легше внести зміни в режимі SQL безпосередньо, чим відкривати й редагувати форму окремого запиту щораз при зміні набору даних, крім того, коли потрібно створювати підлеглі запити, результати яких використовуються як умови порівняння в інших запитах, необхідне знання мови SQL.
Повідомлення SQL складається із ключових слів, а також ідентифікаторів і виразів Access. Найбільш важливі ключові слова SQL:
select - перше слово всіх повідомлень SQL, за допомогою якого проводиться пошук даних в одній або декількох таблицях у базі даних. За ключовим полем select слідують імена всіх полів, які включаються у вибірку. Використовуючи знак * після select, можна автоматично включити в запит всі поля вихідної таблиці;
distinct - виключає повторювані значення з поля в наборі записів, які знайдені за допомогою SQL;
distinctrow - видаляє запис із вибірки тільки при дублюванні всього запису цілком;
from – вказує, яка таблиця містить потрібні нам поля;
join - визначає зв'язок між записами, що знаходяться в різних таблицях;
where - визначає умову вибору, яка повинна використовуватися при виборі записів для включення їх у вибірку;
order by - визначає режим сортування для набору даних;
group by - позначає, що буде повернутий один запис для кожного окремого значення в зазначеному полі. Якщо group by включається в select, список вибору повинен включати функції avg, count, sum й ін.
При введенні умов вибору записів можна використати знаки відношення, логічні операції and й or, оператори: between, in, like.
Для ілюстрації синтаксису мови SQL скористаємося таблицею «Продажі». Приклад1. Записати повідомлення SQL , для заповнення поля «Вартість», значення якого обчислюється по формулі: Вартість = Продано * Ціна_од
select distinctrow Продажі. Продано,
Продажі. Ціна_од.
[Продано]* [Ціна_од] as Вартість
from Продажі;
Приклад 2. Знайти записи з датою замовлення раніше 30 березня 1997р.
select *
from Продажі
where Продажі. Дата_замовлення < #3/30/97#;
Приклад 3. Записи таблиці, отримані в прикладі 2, розташувати по зростанню коду покупця.
select *
from Продажі
where Продажі. Дата_замовлення < #3/30/97#
order by Продажі. Код_покупця;
Приклад 4. Підрахувати вартість товарів, зроблених кожним покупцем.
select distinctrow Продажі. Код_покупця,
sum ([Продано]* [Ціна_од]) as Вартість
from Продажі
group by Продажі. Код_покупця;
У результаті буде сформована таблиця, де для кожного покупця буде підведений підсумок за вартістю покупок.