Майстер створення перехресних таблиць

Мета роботи: навчитися створювати перекрестниезапроси в MS access.

Короткі теоретичні відомості:

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

# 61589; # 61472; заголовки рядків - одне або кілька полів, значення яких будуть використані в якості заголовків рядків таблиці;

# 61589; # 61472; заголовки стовпців - поле, значення якого будуть використані в якості заголовків стовпців;

# 61589; # 61472; значення - числове поле, значення якого будуть використані для проведення підсумкових розрахунків;

# 61589; # 61472; групову операцію - групову функцію, задану тип підсумкових розрахунків, або вираз, що містить групові функції.

Побудова перехресної таблиці проводиться приблизно за такою схемою. Access виробляє угруповання даних по груповим полях, які також служать заголовками її рядків і стовпців. Групова операція проводиться над числами, що містяться в поле значень. Підсумкове значення для даної групи поміщається в комірку таблиці, що знаходиться на перетині рядків і стовпці, назви яких беруться з відповідних групових полів. Частина осередків перехресної таблиці можуть виявитися порожніми (що містять значення Null). Цю обставину необхідно враховувати при створенні виразів, що включають поля перехресної таблиці.

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

Майстер Створення перехресних таблиць

Для створення перехресного запиту можна скористатися відповідним майстром. При цьому потрібно мати на увазі, що він створює перехресний запит на базі полів однієї таблиці / запиту, причому угруповання проводиться за всіма записами. Якщо для створюваного перехресного запиту така таблиця / запит не існує, то слід спочатку створити запит, який містить всю необхідну інформацію, ілише потім скористатися послугами майстра. Розглянемо роботу майстра на наступному прикладі з БД Книги.

Мал. 5.42. Бланк запиту з інформацією для майстра

Для виклику майстра потрібно вибрати пункт Перехресний запит у вікні Новий запит. Робота майстра складається з наступних кроків.

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

3. Майстер просить вказати поле, значення якого будуть використані в якості заголовків стовпців. Виберемо поле Дата відправки.

4. Так як вибране поле має тип Дата / Час. то майстер пропонує вибрати часовий інтервал, з яким потрібно згрупувати дані в цьому полі. Виберемо Квартал.

5. На цьому етапі майстер просить вказати підсумкове поле і групову функцію. Виберемо поле Кількість. а в якості групової функції вкажемо Sum. Тут же надається можливість вказати, чи потрібно включати в таблицю підсумкове значення по кожному рядку. Оскільки ми хочемо включити в таблицю дані про загальну кількість книг, проданих кожним продавцем, потрібно залишити «галочку» у прапорці з підписом Так. В іншому випадку «галочку» потрібно прибрати.

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

Збережемо всі зроблені зміни. Тепер підсумкова таблиця має такий вигляд (див. Рис. 5.43):

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