Прежде чем приступить к созданию и выполнению запроса на обновление записей в БД, создайте однотабличный запрос на выборку данных в режиме Конструктора, с добавлением таблицы Каталог.(Создать - Конструктор - вкладка Таблицы …) Вставьте в запрос поле «Цена за единицу».
Далее выполните команду: Запрос-Обновление (из главного меню). В Конструкторе запросапоявилась новая строка Обновление
В строку Обновление поля Цена за единицу измерения с помощью построителя выражений введите:
CCur(CLng([Каталог].[Цена за единицу]*1,01))
! В строке обновление может быть введено любое правильно построенное выражение. В выражении Вы можете использовать одно или несколько полей из исходных полей запроса.
В данном случае условие увеличения цен на 1% задано формулой:
CCur(CLng([Каталог].[Цена за единицу]*1,01)), где
Каталог- таблица в которую вносятся изменения;
Цена за единицу -поле в которое непосредственно вносятся изменения;
CLng -функция преобразования к длинному, целому числу, выполняет «банковское» округление: значит больше 50 округляются с избытком; значения меньше 50 округляются с недостатком; значение 50 округляется с избытком, если целая часть числа нечетная, если четная то с недостатком. Например:
|
|
1,51 преобразуется в 2;
1,49 в 1; с недостатком
1,50 в 2; с избытком
CСur - преобразование к денежному типу, чтобы получить нужный формат.
Округление с помощью этих функций особенно важно при таких операциях, как вычисление скидки для заказа.
Сохраните (Файл- Сохранить) запрос под названием: «Запрос на обновление.»
Запустите запрос в режиме просмотра (Выполнить запрос -!), подтвердив обновление записей. Итоги запроса должны отразиться в таблице Каталог. Сравните исходные и полученные данные.
Задание 18: