Вправа 4

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

  1. У вікні бази даних клацніть на кнопці Запити.
  2. Двічі клацніть на значку Створення запиту в режимі конструктора (Create Query In Design View).
  3. У вікні діалогу (рис. 17.6) виділіть рядок Контакти.
  4. 4. Клацанням на кнопці Додати додайте обрану таблицю у верхню область конструктора запиту.
  5. 5. Виділіть пункт Список і знову клацніть на кнопці Додати.
  6. 6. Клацанням на кнопці Закрити закрийте вікно діалогу Додавання таблиці (Show Table). Списки полів двох таблиць, з'єднані лінією зв'язку, з'являться у вікні конструктора.
  7. 7. Клацніть на кнопці Групові операції (Totals) панелі інструментів. У бланку запиту з'явиться додатковий рядок Групова операція: (Total), що дозволяє виконувати статистичні операції зі значеннями конкретних полів.

Ріс.17.6. Додавання таблиці

  1. Перетягніть поле Прізвище в осередок Поле (Field) першого стовпця конструктора.
  2. В той же осередок другого шпальти перетягніть поле Ім'я таблиці Контакти.
  3. У третій, четвертий і п'ятий стовпці бланка запиту перетягніть поле Дата таблиці Список (рис. 17.7).

Мал. 17.7. Запит з груповими операціями

  1. У списку осередку Групова операція (Total) третього стовп ца бланка запиту виберіть пункт Min.
  2. У тому ж осередку четвертого стовпця виберіть пункт Мах.
  3. У п'ятому стовпці задайте групову операцію Count. Групові операції побудованого запиту оброблять всі записи таблиці Список, відповідні конкретній людині з таблиці Контакти, і замість самих даних таблиці Список виведуть в відповідне поле результату запиту тільки значення величини, що обчислюється за певною формулою. Доступні групові операції перераховані в табл. 17.1.

ТАБЛИЦЯ 17.1. групові операції

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

  1. Клацніть на кнопці Вид, щоб виконати запит. З'явиться таблиця з п'ятьма стовпцями. Два перших стовпці містять прізвища і імена людей. За ним виконується угрупування, тобто розрахунок значень інших полів запиту виконується для записів таблиці Список, що зіставляються з однією людиною. Як вже говорилося вище, відповідність контакту таблиці Список і людини з таблиці Контакти визначається полями Код_контакти, за допомогою яких здійснюється зв'язок цих двох таблиць. Третій і четвертий стовпчики запиту виводять відповідно дату першого (функція Min) і останнього (функція Мах) контакту з даною людиною. П'ятий стовпець містить кількість записів в таблиці Список (функція Count), відповідних. даній людині, тобто число контактів з ним. Єдиний недолік побудованого запиту - це незрозумілі імена стовпців. Давайте скорегуємо їх.
  2. Клацанням на кнопці Вид поверніться в конструктор запиту.
  3. В осередку Поле третього стовпця замініть ім'я Дата на текст Дата першого контакту: Дата. Права частина цього виразу, розташована правіше двокрапки, як і раніше задає ім'я поля, а ліва визначає назву стовпця результату запиту. Таким чином, будь-якому стовпцю запиту можна призначити довільне ім'я.
  4. В осередку Поле четвертого стовпця введіть Дата останнього контакту: Дата.
  5. У першому рядку п'ятого стовпчика бланка'запроса введіть Число контактів: Дата.

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

  1. Знову клацніть на кнопці Вид.
  2. Закрийте запит.
  3. Для збереження змін структури клацніть на кнопці Так.
  4. У вікні діалогу Збереження (Save As) введіть ім'я Підсумковий запит і клацніть на кнопці ОК.