- •Функция DateValue
- •Функция DatePart
- •Функция DateDiff
- •Примеры
- •Создание простого запроса на выборку
- •Введение
- •Создание запроса
- •Создайте запрос.
- •Добавление условий в запрос
- •Укажите альтернативные наборы условий с помощью оператора or.
- •Добавление операций в запрос
- •Вычисление итоговых значений запроса
- •Примеры условий запроса
Добавление операций в запрос
В таблицах хорошо структурированной базы данных хранятся простые вычисляемые значения. Например, в таблицах можно хранить даты рождения сотрудников, но не их возраст. Хранить такие данные в таблицах нет необходимости, т. к. если известна дата рождения и текущая дата, возраст нетрудно вычислить. Для этого необходимо создать запрос для расчета и отображения нужного значения. Вычисления выполняются при каждом запуске запроса, поэтому в случае изменения данных в базе изменяются и результаты вычислений.
Цель данного упражнения — изменить запрос «Контакты в Твери» таким образом, чтобы он отображал дату рождения и возраст каждого из контактных лиц.
-
Откройте запрос в режиме конструктора.
-
Из окна таблицы «Клиенты» перетащите поле «ДатаРождения» в первый пустой столбец бланка запроса. Можно также дважды щелкнуть имя поля, чтобы автоматически добавить его в первый пустой столбец.
-
В следующем столбце введите в строку Поле выражение для расчета возраста по каждой записи: Возраст: DateDiff ("yyyy", [ДатаРождения], Date())).
«Возраст» — это имя вычисляемого поля. Если имя не указано пользователем, в приложении Access используется общее имя, напримерВыражение1. Строка после двоеточия (:) представляет собой выражение, которое служит для получения значений для каждой записи. С помощью функции DateDiff рассчитывается разница между двумя датами, после чего это значение возвращается в заданном формате. Формат yyyy указывает на значение в годах, а элементы выражения «[ДатаРождения]» и «Date()» служат для получения двух значений дат. Функция Date возвращает текущую дату, а «[ДатаРождения]» — это ссылка на поле «ДатаРождения» в базовой таблице.
ПРИМЕЧАНИЕ. Используемая в этом примере методика расчета возраста зависит от текущего месяца и может быть неточной.
Переключитесь в режим таблицы. В результатах запроса отображаются два дополнительных поля: «ДатаРождения» и «Возраст».
Просмотр SQL-выражения с вычислениями
Дополнительную информацию о составлении выражений, рассчитывающих значения в запросе, см. в статье Создание выражений.
К НАЧАЛУ СТРАНИЦЫ
Вычисление итоговых значений запроса
Вычисление итога для столбцов запроса в приложении Office Access 2007 упростилось по сравнению с предыдущими версиями приложения Access. В новой версии можно добавлять, подсчитывать или рассчитывать другие статистические значения, а также отображать их в специальной строке «Итог», которая отображается под строкой со знаком звездочки (*) в режиме таблицы.
Для каждого столбца можно использовать отдельную статистическую функцию. Можно также отменить вычисление итога для столбца.
Цель этого упражнения — изменение запроса «Контакты в Твери» для отображения в нем строки Итог.
-
Откройте запрос в режиме таблицы.
-
На вкладке Начальная страница в группе Записи выберите командуИтоги.
-
Щелкните строку Итог в столбце «Контакт».
В раскрывающемся списке выберите одно из значений: Нет и Количество значений. Поскольку столбец «Контакт» содержит текстовые значения, другие функции, такие как Сумма и Среднее не используются и поэтому недоступны.
-
Выберите функцию Количество значений для подсчета числа контактов, отображаемых в результатах запроса.
В строке Итог будет отображено число 5.
-
В поле «Возраст» выберите функцию Среднее. Поскольку поле «Возраст» содержит числовое значение, в нем поддерживаются функции Сумма,Среднее, Количество значений, Максимальное значение, Минимальное значение, Стандартное отклонение иДисперсия.
В строке Итог будет отображен средний возраст.
Чтобы очистить итоговое значение для столбца, щелкните строку Итог в этом столбце, а затем выберите из раскрывающегося списка значение Нет. Чтобы скрыть строку Итог, на вкладке Главная в группе Тип данных и форматирование снимите флажок Итоги.
ПРИМЕЧАНИЕ. Использование строки Итоги не изменяет базового выражения SQL.