Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методические указания по БАЗ данных .doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.15 Mб
Скачать

Вычисляемые поля.

В запросе над полями могут производиться вычисления. Результат вычисления образует вычисляемое поле в таблице, создаваемой по запросу. При каждом выполнении запроса производится вычисление с использованием текущих значений полей.

При вычислениях могут использоваться арифметические выражения и встроенные функции Access. Выражение вводится в бланк запроса в пустую ячейку строки Поле. В этой ячейке после нажатия клавиши Enter или перевода курсора в другую ячейку формируется имя поля ВыражениеN, где N — целое число, увеличивающееся на единицу для каждого нового создаваемого вычисляемого поля в запросе. Имя вычисляемого поля выводится перед выражением и отделяется от него двоеточием. Например,

Выражение1: [Цена]*[Количество],

где Цена и Количество — имена полей.

Имя вычисляемого поля — Выражение1 — становится заголовком столбца в таблице с результатами выполнения запроса. Это имя можно изменить.

В Access имеются встроенные функции, которые можно использовать в вычисляемых полях, например, функция Date формирует текущую дату; функция DLookup возвращает значение конкретного поля из записи связанной таблицы, не участвующей в запросе; статистические функции над полями подмножества записей, вычисляющие среднее значение, сумму, минимальное, максимальное значение.

Для вычисляемых полей допускается сортировка, задание условий отбора и расчет итоговых значений, как и для любых других полей.

Запрос на создание таблицы.

Запрос на создание таблицы используется для сохранения результата запроса. Этот запрос основан на запросе на выборку, но в отличие от него сохраняет таблицу с результатами запроса. Необходимость в запросе на создание таблицы возникает при построении запроса на обновление полей таблицы с использованием операций группировки данных. В этом случае кроме обновляемой таблицы требуется таблица — источник данных.

Рассмотрим пример запроса на создание таблицы, содержащей данные о количестве студентов в группах.

Создадим запрос на выборку в режиме конструктора как показано на рисунке:

На панели инструментов нажмем кнопку Групповые операции — в бланк запроса будет добавлена соответствующая строка. Заменим слово Группировка в столбце НС на функцию Count. Сохраним запрос под именем Число студентов в группах. При открытии запрос на выборку должен иметь следующий вид:

Преобразуем запрос на выборку в запрос на создание таблицы. Для этого в режиме конструктора выберем меню Запрос/Создание таблицы. В окне Создание таблицы введем имя таблицы — Число студентов.

При открытии запроса будут выданы предупреждения о создании таблицы и о количестве добавляемых записей. При последующих открытиях — выдается предупреждение об удалении старой таблицы Число студентов.

Запрос на обновление.

Для обновления данных в полях базовых таблиц может быть использован Запрос на обновление. Изменения вносятся в группу записей, отбираемых с помощью указанных пользователем условий отбора. Значения для изменений в полях определяются в бланке запроса в строке Обновление.

Первоначально Запрос на обновление создается как Запрос на выборку, а затем в окне конструктора запросов превращается в запрос на обновление с помощью кнопки Обновление на панели инструментов или команды меню Запрос/Обновление. После выполнения этой команды в бланке запроса появляется строка Обновление.

Для отбора обновляемых записей надо включить в бланк запроса поля, требующие обновления, а также поля, по которым задаются условия отбора. Условия отбора записываются так же, как при создании запроса на выборку.

Для обновляемого поля в строку Обновление надо ввести значение или выражение, определяющее новое значение поля. Выражение можно создать с помощью построителя выражений.

После выполнения команды Запрос/Запуск или нажатия соответствующей кнопки открывается диалоговое окно с сообщением о числе обновляемых записей и вопросом о продолжении операции обновления.

Заметим, если в схеме данных установлен параметр Обеспечение целостности данных и Каскадное обновление связанных полей, то при обновлении ключевых полей результат зависит от взаимосвязей обновляемой таблицы с другими таблицами.