Простой запрос на обновление записей

Допустим, необходимо увеличить на 50% цену товаров категории Напитки. Для этого откройте новый запрос в режиме конструктора и добавьте в макет таблицы Товары и Типы. Измените тип запроса на запрос на обновление. В бланк запроса добавьте поле Цена из таблицы Товары и в строке Обновление укажите - [Цена]*0.5. После этого добавьте в бланк поле Категория из таблицы Типы и в строке Условие отбора укажите — Напитки. Перейдя в режим просмотра, можно проверить, какие записи будут обновляться при выполнении запроса. Для большей информативности в режиме просмотра, можно в бланк запроса добавить несколько полей, указав для них некое фиктивное обновление. Только не забудьте все это потом удалить, иначе можно полностью запороть информацию в таблице, восстановить которую уже не удастся. Сконструированный запрос изображен на рис. 5.1.

Рис. 5.1. Простой запрос на обновление записей.

 
 


Пояснения

а). Запрос в режиме таблицы, представленный на рис. 5.1, содержит поле Категория. Для того чтобы этого добиться, пришлось указать для него в режиме конструктора значение обновления (в данном случае годится пустая строка — две подряд идущие двойные кавычки). Однако не забудьте перед выполнением запроса удалить все фиктивные обновления. Если этого не сделать, то можно, в худшем случае, навсегда потерять важную информацию, а в лучшем — добиться того, что запрос не будет работать. Например, если запустить на выполнение запрос с указанным для поля Категория значением обновления (пустая строка), то запрос выполнен не будет, а система выдаст сообщение об ошибке. Однако в данном случае сообщение об ошибке полностью проясняет ситуацию. Дело в том, что система пытается обновить не только поле Цена таблицы Товары, но и поле Категория таблицы Типы, присвоив ему вместо значения Напитки значение Пустая строка (""). Если открыть таблицу Типы в режиме конструктора, можно убедиться, что свойство этого поля Пустые строки установлено в Нет. Если переустановить значение свойства в Да (Yes) или поменять значение обновления в запросе на непустую строку, то запрос будет выполнен и обновлены будут поля обеих таблиц.

б). В режиме таблицы поля, подлежащие обновлению, содержат старые (не обновленные) данные. Информация в таблице будет обновлена только после успешного запуска запроса на выполнение.

в). Инструкции SQL.

Предложение UPDAТЕ (обновить) определяет тип запроса и, кроме перечня обновляемых таблиц, как и предложение FROM операторов SELECT или DELETE, содержит информацию о связях.

Предложение SET (установить) содержит список полей вместе со значениями обновления для них.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: