Запрос на обновление записей является выполняемым запросом и предназначен для внесения изменений в группу записей одной или нескольких таблиц за одну операцию. При помощи такого запроса можно, например, увеличить зарплату служащим определенной категории на 10%, изменить цены на товары какой-либо группы с учетом курса евро и т.д.
Общая схема построения запросов на обновление такова:
• В макет запроса добавляются все нужные таблицы и между ними устанавливаются необходимые связи.
• Типзапроса устанавливается в запрос на обновление.
• В бланк запроса добавляются из таблиц те поля, которые необходимо обновить. В строке Обновление указываются выражения, значения которых будут присвоены выбранным полям.
• В последнюю очередь добавляются поля, для которых предполагается указать условия отбора.
Примеры допустимых для обновления выражений приведены в таблице 5.1.
Таблица 5.1. Примеры допустимых выражений для обновления полей таблицы.
Выражение | Результат |
"Днепропетровск" | Заменяет значения текстового поля записей, удовлетворяющих условиям отбора, на строку "Днепропетровск" |
#8/10/99# | Задает новое значение для поля типа дата/время - 10-авг-99 |
Да (или Yes) | Задает значение Да для поля логического типа |
"PN" & [Код] | Для каждой записи, подлежащей обновлению, значением поля будет комбинация префикса "PN" и строки из поля Код той же записи |
[Цена]*[Количество] | Значением поля каждой записи, подлежащей обновлению, будет произведение полей Цена и Количество той же записи |
Зарплата]* 1.1 | Если задано для поля Зарплата, то увеличивает зарплату на 10% в записях, удовлетворяющих условиям отбора |
DSum("[Количество]*[Цена]", 'Заказано", "[КодТовара]=" & Код Товара]) | Для каждого товара в исходной таблице выбираются значения полей [Количество] и [Цена] из таблицы Заказано и затем суммируется их произведение. Полученное значение итоговых продаж по каждому товару обновляет соответствующее поле исходной таблицы |
Фамилия] & " " Left([Имя],1) & "." Left([Отчество],1) & "." | Значением поля будет фамилия сотрудника и его инициалы, например, Иванов И.И. |
В целом, принципы построения запросов на обновление во многом похожи на способы создания описанных выше типов запросов. Однако следует сделать несколько замечаний.
|
|