Вопрос: Какой язык программирования вы предпочитаете
|
Иллюстрированный самоучитель по Microsoft Office XP
Упражнение
4. Итоговый запрос
Запросы позволяют
не только выбирать записи из таблиц, но и вычислять различные статистические
параметры. Например, можно подсчитать суммарное количество контактов и вывести
даты первого и последнего контакта с каждым из людей, включенных в таблицу Контакты.
Чтобы построить такой запрос в режиме конструктора, выполните следующие действия.
-
В
окне базы данных щелкните на кнопке Запросы.
-
Дважды
щелкните на значке Создание запроса в режиме конструктора (Create Query
In Design View).
-
В
открывшемся окне диалога (рис. 17.6) выделите строку Контакты.
-
4. Щелчком
на кнопке Добавить добавьте выбранную таблицу в верхнюю область конструктора
запроса.
-
5. Выделите
пункт Список и снова щелкните на кнопке Добавить.
-
6. Щелчком
на кнопке Закрыть закройте окно диалога Добавление таблицы (Show Table).
Списки полей двух таблиц, соединенные линией связи, появятся в окне конструктора.
-
7. Щелкните
на кнопке Групповые операции (Totals) панели инструментов. В бланке запроса
появится дополнительная строка Групповая операция: (Total), позволяющая
выполнять статистические операции со значениями конкретных полей.
Рис.
17.6
. Добавление таблицы
-
Перетащите
поле Фамилия в ячейку Поле (Field) первого столбца конструктора.
-
В
ту же ячейку второго столбца перетащите поле Имя таблицы Контакты.
-
В
третий, четвертый и пятый столбцы бланка запроса перетащите поле Дата таблицы
Список (рис. 17.7).
Рис. 17.7.
Запрос с групповыми операциями
-
В
раскрывающемся списке ячейки Групповая операция (Total) третьего столб ца
бланка запроса выберите пункт Min.
-
В той
же ячейке четвертого столбца выберите пункт Мах.
-
В пятом
столбце задайте групповую операцию Count. Групповые операции построенного
запроса обработают все записи таблицы Список, соответствующие конкретному
человеку из таблицы Контакты, и вместо самих данных таблицы Список выведут
в соответствующее поле результата запроса только значение величины, вычисляемой
по определенной формуле. Доступные групповые операции перечислены в табл.
17.1.
ТАБЛИЦА
17.1
. Групповые операции
Название
|
Функция
|
Условие(Where)
|
Режим
задания условия отбора для поля, но которому не выполняется группировка.
Access автоматически делает такое поле скрытым
|
Выражение
(Expression)
|
Вычисляемое
поле, значение которого рассчитывается по сложной формуле
|
Group
By
|
Поле,
определяющее группу записей, по которой вычисляются статистические параметры.
К одной группе относятся все записи, для которых значения поля с режимом
Group By (Группировка) одинаковы
|
Last
|
Последнее
значение в группе
|
First
|
Первое
значение в группе
|
Var
|
Вариация
значений поля
|
StDev
|
Стандартное
отклонение величин ноля от среднего
|
Count
|
Количество
записей, соответствующее ноле которых не содержит величины Null
|
Мах
|
Максимальное
значение
|
Min
|
Минимальное
значение
|
Avg
|
Среднее
значение поля
|
Sum
|
Сумма
значений поля по всем записям
|
Примечание
Поскольку в пятом поле
запроса вычисляется количество записей, в ячейку Поле этого столбца можно
поместить любое поле таблицы Список.
-
Щелкните
на кнопке Вид, чтобы выполнить запрос. Появится таблица с пятью столбцами.
Два первых столбца содержат фамилии и имена людей. По ним выполняется группировка,
то есть расчет значений остальных полей запроса выполняется для записей
таблицы Список, сопоставляемых с одним человеком. Как уже говорилось выше,
соответствие контакта таблицы Список и человека из таблицы Контакты определяется
полями Код_Контакты, с помощью которых осуществляется связь этих двух таблиц.
Третий и четвертый столбцы запроса выводят соответственно дату первого (функция
Min) и последнего (функция Мах) контакта с данным человеком. Пятый столбец
содержит количество записей в таблице Список (функция Count), соответствующих.
данному человеку, то есть число контактов с ним. Единственный недостаток
построенного запроса — это непонятные имена столбцов. Давайте скорректируем
их.
-
Щелчком
на кнопке Вид вернитесь в конструктор запроса.
-
В
ячейке Поле третьего столбца замените имя Дата на текст Дата первого контакта:
Дата. Правая часть этого выражения, расположенная правее двоеточия, по-прежнему
задает имя поля, а левая определяет название столбца результата запроса.
Таким образом, любому столбцу запроса можно назначить произвольное имя.
-
В
ячейке Поле четвертого столбца введите Дата последнего контакта: Дата.
-
В
первой строке пятого столбца бланка'запроса введите Число контактов: Дата.
Примечание
К сожалению, подобный
прием не подходит для смены названия поля, значение которого не вычисляется,
а передается из таблицы. То есть таким способом не удастся переименовать поле
Имя.
-
Снова
щелкните на кнопке Вид.
-
Закройте
запрос.
-
Для
сохранения изменений структуры щелкните на кнопке Да.
-
В
окне диалога Сохранение (Save As) введите имя Итоговый запрос и щелкните
на кнопке ОК.
|
|
|