ACCESS 2003 Пользовательские вычисления в запросах Теория В запросах можно выполнять вычисления следующих типов: Пользовательские вычисления с использованием данных из одного или нескольких полей одной записи (вычисления по одной строке). Итоговые вычисления, с использованием данных из нескольких записей (строк). Результаты вычислений не запоминаются в базовой таблице. По результатам вычислений может производиться отбор. Пользовательские вычисления Создание вычисляемого поля Вычисляемое поле строится в пустой ячейке Поле бланка запроса. Для его построения в ячейку необходимо ввести следующую информацию: 1. Напечатать имя, которое вы хотите дать полю, а за ним двоеточие. Можно использовать имя по умолчанию – «ВыражениеN», где N является целым числом; 2. Ввести выражение, которое может содержать: • Значения – числовые, текстовые, типа дата/время; • Операторы: арифметические (+, –, *, /,^, mod) и текстовые (&); • Встроенные функции; • Имена полей (в квадратных скобках). Если используются поля из таблиц, не добавленных в бланк запроса, то нужно использовать полный идентификатор поля в виде [Имятаблицы]![Имяполя]. Пример В БД «Спортивная гимнастика» вывести на экран фамилию и общую сумму баллов для каждого спортсмена, если известна сумма набранных баллов по каждому снаряду. В пустом поле создается вычисляемое поле «Сумма». После имени поля Сумма ставится двоеточие. После двоеточия вручную пишется выражение, в котором имена полей указываются в квадратных скобках. Имена полей нужно писать в точности как в таблице!!! Пример Результат выполнения запроса: Пример Чтобы указать два знака после точки в вычисляемом поле, нужно установить туда курсор и Пример Результат выполнения запроса: Построитель выражений Выражения можно печатать самим, а можно создавать с помощью построителя выражений. Построитель выражений уменьшает вероятность ошибок при написании имен полей. Построим вычисляемое поле из предыдущего примера с помощью построителя выражений. Для этого: Установим курсор в поле, в котором нужно построить выражение, щелкнем правой кнопкой мыши и выберем команду Построить Построитель выражений Появится окно. В этом окне откроем вкладку Таблицы и найдем нужную таблицу. Для вставки названия поля нужно выбрать это поле и нажать кнопку Вставить. Построитель выражений Имя поля выводится вместе с именем таблицы. Для вставки выражения в бланк запроса нужно нажать кнопку ОК. Построитель выражений В бланке запроса это поле автоматически получает имя Выражение1, которое можно исправить на любое другое. Некоторые встроенные функции для работы с датами Year([Дата]) – выбирает из даты год; Month([Дата]) – выбирает из даты месяц; Day([Дата]) – выбирает из даты число; Date() – текущая дата; Weekday([Дата]) – определяет день недели (1 – воскресенье). Здесь [Дата] имя любого поля типа дата. Пример В базе данных «Деканат» найдем фамилии студентов, у которых день рождения в текущем месяце. Нам нужно сравнивать месяц из даты рождения студента и месяц из системной даты (Date() ). Встроенная функция, выделяющая месяц из даты, называется Month. Воспользуемся построителем выражений. Одно выражение построим в строке поле, а второе в строке условие отбора. Установим курсор в свободной ячейке в строке Поле. Пример Найдем функцию Month и нажмем кнопку Вставить Пример В качестве параметра для данной функции (вместо «number») найдем в таблице Студенты поле Дата рождения и нажмем кнопку Вставить Пример Нажмем кнопку ОК. Поле получит имя Выражение1. Пример Установим в этом поле курсор в строку Условие отбора и еще раз вызовем Построитель выражений Пример Выделим номер месяца из системной даты Пример Результат в бланке запроса Пример Результат выполнения запроса, если текущий месяц октябрь.