
- •Тема: Применение функций при создании запросов
- •Порядок работы
- •Создание итоговых запросов в режиме Конструктор
- •Использование функций в запросе
- •Запустить запрос на выполнение.
- •2Этап - удалить из адреса первые 3 символа
- •3Этап – определить по первым трем символам поля Адрес слова «улица» или «проспект»
Тема: Применение функций при создании запросов
ЦЕЛЬ:
Вы должны знать результат выполнения функций:
Avg, Min, Max, Sum, Count, Format, Len, Right, Left,IIf
Вы должны уметь:
использовать функции при создании вычисляемых полей и условий отбора;
создавать запросы с использованием групповых операций в режиме Конструктора.
Порядок работы
Ознакомьтесь с теоретической частью работы. Выполните упражнения, используя файл базы данных Учебная база данных ХХХ.mdb (где ХХХ – Ваша фамилия), который находится E:\Мои документы\YYY (где YYY – имя Вашей рабочей папки).
Выполните практическое задание.
Домашнее задание. Перепишите вопросы в конспект, ответьте на них.
(Дополнительная литература: [1,с 249..253])
ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
Создание итоговых запросов в режиме Конструктор
Для создания запроса с использованием групповых операций необходимо:
Сформировать запрос на выборку, включив в бланк запроса поля, по которым надо произвести группировку, поля, по которым надо выполнить статистические вычисления и поля для заданий условий отбора записей таблиц.
Выполнить команду Вид →Групповые операции. В бланке запроса появится строка Групповая операция, в которой для всех полей записано Группировка.
Для статистических вычислений по заданному полю заменить слово Группировка на требуемую функцию через раскрывающийся в поле список.
В Access существует девять статистических функций. В следующей таблице представлены некоторые из них.
Функция |
Описание |
Sum |
вычисляет сумму всех значений заданного поля в каждой группе |
Avg |
вычисляет среднее арифметическое всех значений заданного поля в каждой группе |
Min |
возвращает наименьшее значение, найденное в заданном поле внутри каждой группы |
Max |
возвращает наибольшее значение, найденное в заданном поле внутри каждой группы |
Count |
возвращает число записей, найденное в заданном поле внутри каждой группы, отличное от Null (пустое значение) |
В качестве примера на рисунке показан бланк запроса с групповой операцией подсчета числа учащихся, поступивших в 2002, 2003 и 2004 году, с минимальным и максимальным значением среднего балла поступления для каждого года.
Выполните упражнение 1 (по инструкции выше)
Создайте в режиме Конструктор запрос Ф1 для вывода на экран для каждого значения поля Город среднее количество пропусков, минимальный балл по каждому предмету.
Использование функций в запросе
В запросе над полями можно производить вычисления. При вычислениях могут использоваться арифметические выражения и встроенные функции Access.
Выражение вводится в бланк запроса в пустую ячейку строки Поле. При записи выражения можно использовать Построитель выражений. В Построителе выражений встроенные функции находятся в папке Функции → Встроенные функции. Функции делятся на категории: Математические, Статистические, Финансовые, Дата/время и т.д. Каждая функция выполняет определенное действие и требует задания одного или нескольких аргументов. Некоторые функции приведены в следующей таблице:
Функция |
Описание |
Date() |
формирует текущую дату, не требует аргументов |
Month(«number») |
выделяет из даты месяц, аргумент «number» - поле типа Дата/время или дата. Например, результатом работы Month(15.03.05) будет число 3 |
Year(«number») |
выделяет из даты год, аргумент «number» - поле типа Дата/время или дата. Например, результатом работы Year (15.03.05) будет число 2005 |
Day(«number») |
выделяет из даты день, аргумент «number» - поле типа Дата/время или дата. Например, результатом работы Day (15.03.05) будет число 15 |
Format(«number»;формат) |
преобразует числовое значение в формат даты, времени, денежный или любой другой формат, определяемый пользователем. Например, результатом работы Format([Сведения]![Дата Рождения];"mm.yyyy") будет месяц и год рождения |
Left(строка; длина) |
возвращает указанное число знаков от левого края строки. Например, результатом работы Left(“благодарить”;5) будет буквосочетание “благо” |
Right(строка; длина) |
возвращает указанное число знаков от правого края строки. Например, результатом работы Right(“благодарить”;6) будет буквосочетание “дарить” |
Функция |
Описание |
Len(строка) |
возвращает количество знаков в строке. Например, результатом работы Len(“благодарить”) будет число 11 |
IIf(логическое выражение;з1;з2) |
Возвращает одно из двух значений (з1 или з2) в зависимости от результата логического выражения. з1 - значение или выражение, которое будет возвращено, если выражение будет оценено как Истина. з2 - значение или выражение, которое будет возвращено, если выражение будет оценено как Ложь. |
Выполните упражнение 2 (по инструкции)
Создайте запрос Ф2 на основе данных таблиц Начисления и Сведения (Фамилия, Имя, Дата рождения, Премия, Стипендия) с вычисляемым полем Сумма итого (Премия+Стипендия). В запросе отобразить данные по учащимся, которые родились в декабре
Инструкция:
Выбрать вкладку Запросы.
Нажать кнопку Создать.
В диалоговом окне Новый запрос выбрать Конструктор, нажать кнопку ОК.
В окне Добавление таблицы добавить таблицы Начисления и Сведения.
Переместить поля Фамилия, Имя, Дата рождения, Премия, Стипендия из списка полей в бланк запроса.
Установить курсор в пустую ячейку строки Поле.
Вызвать Построитель выражений.
Составить выражение, используя данные таблицы Начисления и нажать ОК.
Переименовать Выражение 1 в Сумма итого.
В поле Дата рождения задать условие отбора с помощью Построителя выражений, используя встроенную функцию категории Дата/время Month
Условие отбора по полю Дата рождения:
Запустить запрос на выполнение.
Выполните упражнение 3 (самостоятельно)
Создайте запрос Ф3 на основе данных таблиц Сведения и Начисления (Фамилия, Имя, Отчество, Дата рождения, Премия) с вычисляемым полем Дополнение (Премия, увеличенная на 35%). В запросе отобразите данные об учащихся (с помощью функции Day), которые родились в первой декаде.
Выполните упражнение 4 (по инструкции)
Создайте запрос Ф4 на основе данных таблицы Сведения (Фамилия, Имя, Дата рождения) с вычисляемым полем Возраст (Количество прожитых лет).
Инструкция:
Выбрать вкладку Запросы.
Нажать кнопку Создать.
В диалоговом окне Новый запрос выбрать Конструктор, нажать кнопку ОК.
В окне Добавление таблицы добавить таблицы Сведения.
Переместить поля Фамилия, Имя, Дата рождения из списка полей в бланк запроса.
Установить курсор в пустую ячейку строки Поле.
Вызвать Построитель выражений.
Составить выражение, используя данные таблицы Сведения и функцию Date и нажать ОК.
Переименовать Выражение 1 в Возраст
Запустить запрос на выполнение.
Сравнить результаты работы запроса с образцом
Значения поля Возраст – количество прожитых дней
Для изменения формата поля (отображения количества лет) следует воспользоваться функцией Format
Перейти в режим Конструктора
Для поля Возраст вызвать Построитель выражения
Изменить формулу
Замечание:
Для поля типа Дата/Время определен следующий формат: dd.mm.yyyy