Запрос на обновление записей таблицы
Запрос на обновление вносит общие изменения в группу записей одной или нескольких таблиц.
Запрос на создание таблицы требуется в следующих случаях:
· Синхронизация записей дублированных таблиц распределенной базы данных.
· Изменение справочных данных.
Задание 16. Цена продаж на заданный товар изменилась на заданный процент. Обеспечить обновление соответствующей информации в таблице ТОВАР.
Алгоритм выполнения задания:
1. Создать новый запрос. Исходная структура — обновляемая таблица ТОВАР.
2. Открыть пункт меню ЗАПРОС и выбрать команду обновление. Окно конструктора запроса изменилось (Рисунок 37):
Рисунок 37 Окно конструктора запроса на обновление
· в строке ПОЛЕ указывается имя обновляемого поля,
· в строке ИМЯ ТАБЛИЦЫ — имя обновляемой таблицы,
· в строке ОБНОВЛЕНИЕ строится выражение для обновления или указывается идентификатор поля, содержащего значения для обновления,
· в строке УСЛОВИЯ ОТБОРА вводятся необходимые ограничения.
2. Вывести обновляемое поле — ЦЕНА.
3. В строке ОБНОВЛЕНИЕ построить выражение: IIf([Товар]![код товара]=[ввести обновляемый код товара]; ([Товар]![Цена]*(1+[введите % изменения цены]/100)); [Товар]![Цена]) — если значение поля КОД ТОВАРА таблицы ТОВАР соответствует заданному значению, то цена товара изменяется на заданный процент, в противном случае цена остается старой.
4. . Просмотреть результат выполнения запроса (не запуская запрос) — нажать кнопку на панели инструментов. Вернуться в режим конструктора запросов.
5. Сохранить запрос под именем 16_обновление справочника товаров.
6. Запустить запрос. Прочитать информационные сообщения, подтвердить обновление записей таблицы
7. Просмотреть содержание обновленных записей таблицы ТОВАР.
Бланк запроса представлен на Рисунок 38.
Рисунок 38 Бланк запроса 16_обновление справочника товаров задания 16
Внимание! В связи с производственной необходимостью потребовалось изменение структур исходных таблиц:
· таблица СЧЕТ — добавить поле ПОМЕТКА О ВЫПОЛНЕНИИ ЗАКАЗА (тип данных — логический, формат — Истина/Ложь)
· таблица ПОКУПАТЕЛЬ — добавить поле СКИДКА (тип данных — ЧИСЛОВОЙ, формат поля — ПРОЦЕНТНЫЙ).
Задание 1_18 для самостоятельной работы.Для заданного покупателя введены новые скидки. Обеспечить обновление соответствующей информации в таблице ПОКУПАТЕЛЬ
Задание 17. Обновить записи в таблице ВЫПОЛНЕННЫЕ ЗАКАЗЫ.
Таблица ВЫПОЛНЕННЫЕ ЗАКАЗЫ была создана при выполнении задания 1_17 для самостоятельной работы. Источник для обновления — таблица ВЫПОЛНЕНИЕ ЗАКАЗОВ создана в задании 15. Перед созданием запроса ввести новый счет, для которого в таблице ПРОДАЖА ввести записи о полной продаже всех заказанных товаров. Выполнить запрос 15-3_долг, для повторного создания таблицы ВЫПОЛНЕНИЕ ЗАКАЗОВ.
Алгоритм выполнения задания:
1. Создать новый запрос на обновление. Исходные таблицы: обновляемая таблица ВЫПОЛНЕННЫЕ ЗАКАЗЫ, источник для обновления — таблица ВЫПОЛНЕНИЕ ЗАКАЗОВ.
2. Установить связь по полю № счета для обеспечения обновления связанных записей. В таблице ВЫПОЛНЕНИЕ ЗАКАЗОВ могут присутствовать новые записи о выполненных заказах (номера счетов которых не содержатся в таблице ВЫПОЛНЕННЫЕ ЗАКАЗЫ). Чтобы иметь возможность добавить соответствующие записи, изменить параметры объединения: «Объединение всех записей из ВЫПОЛНЕНИЕ ЗАКАЗОВ и только тех записей из выполненные заказы, в которых связанные поля совпадают».
3. Вывести поля для обновления: № СЧЕТА, СУММА СЧЕТА из таблицы выполненные заказы.
4. Для поля № СЧЕТА в строке обновление при помощи построителя выражений указать идентификатор [ВЫПОЛНЕНИЕ ЗАКАЗОВ]![№ счета].
5. Для поля СУММА счета в строке обновление при помощи построителя выражений указать идентификатор [ВЫПОЛНЕНИЕ ЗАКАЗОВ]![Сумма счета].
6. В свободной колонке в строке ПОЛЕ вывести идентификатор [ВЫПОЛНЕНИЕ ЗАКАЗОВ]![долг], в строке УСЛОВИЯ ОТБОРА поставить значение 0. Данное ограничение обеспечивает выборку для обновления только тех записей из таблицы ВЫПОЛНЕННЫЕ ЗАКАЗЫ, для которых значение поля ДОЛГ равно 0.
7. Просмотреть результат выполнения запроса (не запуская запрос) — нажать кнопку на панели инструментов. Вернуться в режим конструктора запросов.
8. Сохранить запрос под именем 17_обновление данных о выполнении заказов.
9. Запустить запрос. Прочитать информационные сообщения, подтвердить обновление записей таблицы
10. Просмотреть содержание обновленных записей таблицы выполненные заказы.
Бланк запроса представлен на Рисунок 39.
Рисунок 39 Бланк запроса 17_обновление данных о выполнении заказов задания 17
Задание 1_19 для самостоятельной работы.Обновить поле ОТМЕТКА О ВЫПОЛНЕНИИ ЗАКАЗА таблицы СЧЕТ в соответствии с данными таблицы ВЫПОЛНЕННЫЕ ЗАКАЗЫ.