Как сделать запрос на обновление в access 2010?

Сегодня поговорим на тему «Запрос на обновление Access». Запрос на обновление Access может быть использован для обновления данных в полях базовых таблиц. Изменения вносятся в группу записей, отбираемых с помощью указанных пользователем условий отбора. Значения для изменений в полях определяются в бланке запроса в строке Обновление (Update To).
Задача. Рассчитайте стоимость товара в каждой строке таблицы ОТГРУЗКА и сохраните ее в поле СУММА_ОТГР этой же таблицы.

  1. Для формирования запроса на обновление сначала создайте запрос Выборка (Select) на основе двух таблиц: обновляемой таблицы ОТГРУЗКА и таблицы ТОВАР.
  2. Преобразуйте запрос на выборку в запрос на обновление, щелкнув на кнопке Обновление (Update), размещенной на вкладке ленты Конструктор (Design) или выбрав команду Обновление (Update) из списка Тип запроса (Query Type) в контекстном меню запроса. После выполнения этой команды в бланке запроса появляется строка Обновление (Update To) (рис. 4.43).
  3. Заполните бланк запроса. Перетащите обновляемое поле СУММА_ОТГР из списка таблицы ОТГРУЗКА в строку Поле (Field). В строку Обновление (Update To) введите выражение *, которое рассчитывает значение для обновления.
  4. Просмотрите содержимое обновляемого поля СУММА_ОТГР перед выполнением запроса, нажав кнопку Режим (View) на ленте конструктора запросов в группе Результаты (Results).
  5. Для обновления содержимого поля СУММА_ОТГР выполните запрос, нажав кнопку Выполнить (Run) на вкладке ленты Конструктор (Design). Открывается диалоговое окно с сообщением о числе обновляемых записей и вопросом о продолжении операции обновления. Подтвердите обновление записей.
  6. Просмотрите содержимое обновляемого поля СУММА_ОТГР после выполнения запроса. Для этого переключитесь после выполнения запроса в режим таблицы, воспользовавшись кнопкой Режим таблицы (Datasheet View) в строке состояния или нажмите кнопку Режим (View) на вкладке ленты.

Таким образом, рассмотренный запрос позволяет автоматизировать расчет стоимости товара, указанного в каждой строке спецификации накладной ― записи таблицы ОТГРУЗКА.

  1. Если обновлять нужно только некоторые строки таблицы, задайте условия отбора обновляемых записей. Для этого дополните бланк запроса полем, по которому требуется произвести отбор записей. Перетащите поле КОД_ТОВ в бланк запроса и введите в строку Условия отбора (Criteria) параметр (см. рис. 4.43).
  2. Выполните запрос. Обновление будет выполнено только для записей с введенным кодом товара.
  3. Сохраните запрос под именем Расчет стоимости.
  4. Перейдите в режим SQL. Эквивалентная запросу на обновление инструкция UPDATE будет записана следующим образом:
    UPDATE ТОВАР INNER JOIN ОТГРУЗКА ON ТОВАР.КОД_ТОВ = ОТГРУЗКА.КОД_ТОВ
    SET ОТГРУЗКА.СУММА_ОТГР = * WHERE (((ТОВАР.КОД_ТОВ)=));

Имена таблиц, используемых в запросе, и способ их объединения задаются не-посредственно за именем инструкции UPDATE. Инструкция UPDATE обновляет указанное в предложении SET поле ОТГРУЗКА.СУММА_ОТГР, присваивая значение, за-данное выражением *. Обновление происходит во всех записях, которые удовлетворяют условию отбора, заданному в предложении WHERE.
Для закрепления смотрим видеоурок:

Запросы на обновление используются главным образом для того, чтобы внести изменения сразу в большое количество записей с помощью одного запроса. Классическим примером такого запроса является изменение цены в таблице «Товары» (Products) на некоторый постоянный коэффициент, например можно увеличить цену одной из категорий товара на 20%. Чтобы создать такой запрос:

  1. Раскройте список таблиц, щелкнув мышью по ярлыку Таблицы (Tables) окна базы данных.
  2. Выделите таблицу «Товары» (Products). Щелкните левой кнопкой мыши по стрелке на кнопке Новый объект (New Object) на панели инструментов и выберите из списка значение Запрос (Query). Появится окно Конструктора запросов с таблицей «Товары» в верхней части. Перенесите в бланк запроса поля «Цена» и «КодТипа».
  3. Введите условие отбора записей: например, в столбец «КодТипа» введите значение 1.
  4. Выполните запрос, чтобы убедиться, что отбираются все записи, содержащие напитки.
  5. Теперь изменим запрос, превратив его в запрос на обновление. Для этого выполните команду меню Запрос, Обновление (Query, Update). Изменяется заголовок запроса и появляется дополнительная строка Обновление (Update To). При этом исчезают строки Сортировка (Sort) и Вывод на экран (Show) (рис. 8.8).
  6. Теперь нужно в строку Обновление (Update To) ввести выражение, по которому будет вычисляться новая цена: * 0, 2. В других случаях можно вводить константу, например, если нужно поменять дату во многих записях на текущую.
  7. Теперь можно выполнить запрос. Для этого нажмите кнопку Запуск (Run) на панели инструментов. Так же, как и при добавлении записей в таблицу, Access выдаёт сообщение о количестве обновляемых записей и запрашивает подтверждение на обновление. Вы можете подтвердить обновление записей или отвергнуть.

Рис. 8.8. Запрос на обновление записей

Совет

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

В приведенном примере изменялись значения в поле, которое не является первичным ключом в таблице «Товары» (Products). Особый случай возникает, когда требуется обновить значение первичного ключа в таблице. Если эта таблица связана отношением «один-ко-многим» с другими таблицами, то при изменении первичного ключа записи должны одновременно измениться значения внешних ключей во всех связанных записях подчиненных таблиц. Access обеспечивает выполнение такого изменения автоматически, т. к. поддерживает каскадное обновление записей. При определении связи между таблицами можно установить флажок каскадное обновление связанных полей (Cascade Update Related Fields).

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

Убедиться в том, как работает такой запрос, можно на примере таблиц «Сотрудники» (Employees) и «Заказы» (Orders). Для этого нам придется сначала сделать копии этих таблиц и установить связь между ними:

  1. Раскройте список таблиц в окне базы данных и выделите таблицу «Сотрудники».
  2. Скопируйте таблицу в буфер обмена, нажав комбинацию клавиш +.
  3. Вставьте таблицу из буфера обмена, нажав комбинацию клавиш +. Появится диалоговое окно Вставка таблицы (Paste Table As).
  4. В поле Имя таблицы (Table Name) введите строку: Сотрудники (копия). Оставьте предлагаемое по умолчанию значение переключателя в группе Параметры вставки (Paste Options). Нажмите кнопку ОК или клавишу . В списке появится новая таблица.
  5. Выполните шаги 1—4 для таблицы «Заказы», создав таблицу «Заказы (копия)».
  6. Для выполнения примера нам придется немного изменить таблицу «Заказы (копия)». Поле «КодСотрудника» в таблице «Заказы» является полем подстановки, т. е. хотя в этом поле содержатся коды сотрудников, при отображении таблицы в этом поле показываются фамилия и имя сотрудника. Мы можем временно удалить поле подстановки, чтобы видеть результаты каскадного обновления данного поля. Для этого достаточно открыть таблицу «Заказы (копия)» в режиме Конструктора, выделить строку «КодСотрудника», раскрыть в панели Свойства поля (Field Properties) вкладку Подстановка (Lookup) и установить значение свойства Тип источника строк (Row Source Type) равным Поле (Text box). Сохраните изменение.
  7. Еще одно изменение потребуется ввести в таблицу «Сотрудники (копия)». Поле «КодСотрудника» в ней имеет тип Счетчик (AutoNumber), поэтому Access не позволит изменить значение в этом поле. Откройте эту таблицу в режиме Конструктора и замените тип данных для поля «КодСотрудника» на Числовой (Number).
  8. Теперь нужно установить связи между новыми таблицами. Нажмите кнопку Схема данных (Relationships) на панели инструментов для вывода окна Схема данных (Relationships).
  9. Нажмите кнопку Очистить макет (Clear Layout), чтобы очистить окно схемы данных. Подтвердите свое намерение в окне сообщения, нажав кнопку Да (Yes).
  10. Добавьте таблицы «Сотрудники (копия)» и «Заказы (копия)» с помощью диалогового окна Добавление таблицы (Show Table). Для этого нажмите соответствующую кнопку на панели инструментов.
  11. Чтобы установить связь «один-ко-многим» между таблицами, перетащите поле «КодСотрудника» таблицы «Сотрудники (копия)» в соответствующее поле таблицы «Заказы (копия)». Появится диалоговое окно Изменение связей (Edit Relationship).
  12. В этом окне необходимо установить флажки Обеспечение целостности данных (Enforce Referential Integrity) и каскадное обновление связанных полей (Cascade Update Related Fields) (рис. 8.9). Нажмите кнопку ОК.
  13. Закройте окно Схема данных (Relationships).

Рис. 8.9. Диалоговое окно Изменение связей

Для выполнения каскадного обновления:

  1. Откройте таблицы «Сотрудники (копия)» и «Заказы (копия)» и разместите их на экране так, чтобы были видны обе таблицы (рис 8.10).
  2. Отсортируйте таблицу «Заказы (копия)» по столбцу «Сотрудник». Для этого выделите данный столбец, щелкнув левой кнопкой мыши по его заголовку, и нажмите кнопку Сортировка по возрастанию (Sort Ascending) на панели инструментов.
  3. Измените значение в столбце «Код сотрудника» первой записи таблицы «Сотрудники (копия)», введя число 10, и нажмите клавишу , чтобы перейти к следующей записи. Изменение кода сразу же будет отображено в столбце «Сотрудник» таблицы «Заказы (копия)».

Рис. 8.10. Каскадное обновление записей

Sort

Как создать ЗАПРОСЫ НА ОБНОВЛЕНИЕ в Microsoft Access за 5 минутУроки по Microsoft Access

Жилийн өмнө

Если вы не знаете как создать запрос на обновление в программе Microsoft Access, то посмотрите это видео. Продолжае…

Microsoft Access № 26: как создать запрос Access на обновлениеАндрей Домостой

3 жилийн өмнө

Как создать запрос Access на обновление данных? КУПИТЬ ВИДЕОКУРСЫ ИЛИ ЗАКАЗАТЬ БАЗУ: goo.gl/zgcfyg ВКонтакте:…

1 Изменение данных в Access 2013 с помощью запросов на обновлениеТвойКомп

3 жилийн өмнө

8.2. Запрос для обновления данных таблицы Microsoft Access 2010.Dmitrii Dmitrii

2 жилийн өмнө

Раздел 8. Использование запросов для создания и изменения таблиц. Запросы к базам данных Microsoft Access 2010.

SQL: создаем запрос на обновление (UPDATE) в Microsoft AccessУроки по Microsoft Access

Жилийн өмнө

Если вы не знаете как создать SQL-запросы в базе данных Microsoft Access, то посмотрите это видео. На примере стандарт…

Как создать ЗАПРОСЫ НА ДОБАВЛЕНИЕ в Microsoft Access за 8 минутУроки по Microsoft Access

Жилийн өмнө

Если вы не знаете как создать запрос на добавление в программе Microsoft Access, то посмотрите это видео. Продолжае…

Как создать ЗАПРОСЫ НА УДАЛЕНИЕ в Microsoft Access за 4 минутыУроки по Microsoft Access

Жилийн өмнө

Если вы не знаете как создать запрос на удаление в программе Microsoft Access, то посмотрите это видео. Продолжаем…

Как создать запросы в Microsoft Access за 10 минутУроки по Microsoft Access

3 жилийн өмнө

Узнайте, как легко и быстро создать базу данных Access — accesshelp.ru/category/uroki/ Если вы не знаете как создать…

Как определить ГОД, КВАРТАЛ, МЕСЯЦ, ДЕНЬ НЕДЕЛИ в запросе AccessУроки по Microsoft Access

Жилийн өмнө

Если вы не знаете, как создаются запросы с условием в базе данных Microsoft Access, то посмотрите это видео. Продолж…

Запрос на добавление в MS AccessDemaskinas

4 жилийн өмнө

Access 2013 Урок 33 Изменение данных в нескольких полях с помощью запроса на обновлениеIT видео

2 жилийн өмнө

Access 2013 Урок 34 Изменение данных в нескольких таблицах с помощью запроса на обновлениеIT видео

2 жилийн өмнө

7.3 Функции даты и времени Microsoft Access 2010.Dmitrii Dmitrii

2 жилийн өмнө

Раздел 7. Вычисления в запросах. Запросы к базам данных Microsoft Access 2010.

SQL: создаем запрос на удаление (DELETE) в Microsoft AccessУроки по Microsoft Access

Жилийн өмнө

Если вы не знаете как создать SQL-запросы в базе данных Microsoft Access, то посмотрите это видео. На примере стандарт…

Microsoft Access № 28: запрос Access на добавление записейАндрей Домостой

3 жилийн өмнө

Как создать запрос Access для добавления записей в существующую таблицу? КУПИТЬ ВИДЕОКУРСЫ ИЛИ ЗАКАЗАТЬ БАЗУ:…

Как быстро создать ПЕРЕКРЕСТНЫЙ запрос в базе данных Microsoft AccessУроки по Microsoft Access

11 сарын өмнө

Если вы не знаете как создать перекрестный запрос в программе Microsoft Access, то посмотрите это видео. Продолжаем…

SQL: создаем вложенные подзапросы в запросах AccessУроки по Microsoft Access

Жилийн өмнө

После просмотра данного видеоурока вы научитесь создавать встроенные подзапросы на языке SQL. В базе данных…

Как создать ЗАПРОС С УСЛОВИЕМ в базе данных MS ACCESSУроки по Microsoft Access

Жилийн өмнө

Если вы не знаете, как создаются запросы с условием в базе данных Microsoft Access, то посмотрите это видео. Продолж…

Microsoft Access № 27: запрос Access на создание таблицыАндрей Домостой

3 жилийн өмнө

Как сделать запрос Access на создание новой таблицы и заполнить её данными? КУПИТЬ ВИДЕОКУРСЫ ИЛИ ЗАКАЗАТЬ…

Урок 7 Access.Запросы Часть 5 Вычисления и функцииMoodle Donguu

3 жилийн өмнө

Создание запроса на создание таблицы в базе AccessУроки по Microsoft Access

Жилийн өмнө

Если вы не знаете, как создать запрос на создание таблицы в базе данных Microsoft Access, то посмотрите это видео….

Как создать запрос с параметром в Microsoft Access за 7 минутУроки по Microsoft Access

Жилийн өмнө

Если вы не знаете, как создать запрос с параметром в базе данных Microsoft Access, то посмотрите это видео. Продолжа…

SQL: создаем запросы на выборку (SELECT) в Microsoft AccessУроки по Microsoft Access

Жилийн өмнө

Если вы не знаете как создать SQL-запросы в базе данных Microsoft Access, то посмотрите это видео. На примере стандарт…

Запрос на поиск записи без подчиненных в базе данных Microsoft AccessУроки по Microsoft Access

Жилийн өмнө

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

2 Запрос для обновления данных таблицыНиколаеви4

Жилийн өмнө

автор: mmt.teachpro.ru.

SQL: создаем запросы на выборку с условием (WHERE) в Microsoft AccessУроки по Microsoft Access

Жилийн өмнө

Если вы не знаете как создать SQL-запросы в базе данных Microsoft Access, то посмотрите это видео. На примере стандарт…

вычисляемые запросы в AccessMarat Asanov

5 жилийн өмнө

вычисляемые запросы в Access.

Урок 7.Access.Запросы. Часть4. Запросы с условиемMoodle Donguu

3 жилийн өмнө

Урок28. Как сoздать итоговый запрос в Microsoft AccessWeb Vladimir

3 жилийн өмнө

Запрос на удаление MS AccessDemaskinas

4 жилийн өмнө

8.3. Запрос для добавления данных в таблицу Microsoft Access 2010.Dmitrii Dmitrii

2 жилийн өмнө

Раздел 8. Использование запросов для создания и изменения таблиц. Запросы к базам данных Microsoft Access 2010.

Как связать таблицы в базе данных Microsoft Access 2016Уроки по Microsoft Access

Жилийн өмнө

Если вы не знаете как создать базу данных в программе Microsoft Access 2016, то посмотрите это видео. Всего за 6 уроков…

Microsoft Access № 64: запрос с параметром AccessАндрей Домостой

8 сарын өмнө

Что такое запрос с параметром в базе Microsoft Access? КУПИТЬ ВИДЕОКУРСЫ ИЛИ ЗАКАЗАТЬ БАЗУ: goo.gl/zgcfyg ВКонтакте:…

Поиск повторяющихся записей в запросах AccessУроки по Microsoft Access

Жилийн өмнө

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

8. 1. Запрос для создания таблицы Microsoft Access 2010.Dmitrii Dmitrii

2 жилийн өмнө

Раздел 8. Использование запросов для создания и изменения таблиц. Запросы к базам данных Microsoft Access 2010.

Электронные таблицы или базы данных: Excel vs AccessSpecialistTV

Жилийн өмнө

В чем принципиальная разница между таблицами Excel и базами данных Access? Какими преимуществами обладает кажда…

Урок 8. Access Запросы Часть6 Групповые операции Перекрестный запросMoodle Donguu

3 жилийн өмнө

MS Access и C# — работаем с базой данных из программы Windows FormsИгорь Шапкин

6 сарын өмнө

В видео рассказывается про работу с базой данных Microsoft Access с помощью языка программирования C#. Демонстриру…

Готовая база данных Access Успеваемость студентов (3 из 4)Уроки по Microsoft Access

11 сарын өмнө

Если вы не знаете что такое готовая база данных Access, то посмотрите это видео. ВСЕГО ЗА 4 УРОКА мы создадим…

Access 2013 Урок 22 Создание запросов к несвязанным источникам данныхIT видео

2 жилийн өмнө

ЗАПРОС НА СОЗДАНИЕ ТАБЛИЦЫ ACCESSОлег Кошевой

4 жилийн өмнө

MS Access Создание запросов часть 1infsaratov

5 жилийн өмнө

MS Access. Создание запросов. часть 1.

8.4. Запрос на удаление данных таблицы Microsoft Access 2010.Dmitrii Dmitrii

2 жилийн өмнө

Раздел 8. Использование запросов для создания и изменения таблиц. Запросы к базам данных Microsoft Access 2010.

Создание запросов в СУБД Access 2013 (запрос на выборку, создание таблицы и удаление)Vitaliy Melnikov

9 сарын өмнө

Исходный файл БД Movies можно скачать по ссылке ниже! В этом видео демонстрируются примеры создания 3 видов…

Запрос с параметром в СУБД Microsoft Access 2010 — созданиеГомельский государственный областной лицей

2 жилийн өмнө

В этом уроке рассмотрим, как создать запрос с параметром в базе данных Access.

3.10 Вычисляемые поля Microsoft Access 2010.Dmitrii Dmitrii

2 жилийн өмнө

Раздел 3. Создание базы данных и работа с таблицами. Основы системы управления базами данных Microsoft Access 2010.

3 Запросы с параметрами в веб приложениях Access, часть 1 «Создание и проверка запроса»ТвойКомп

3 жилийн өмнө

SQL: Агрегатные функции SUM, AVG, COUNT, MIN, MAX в запросах AccessУроки по Microsoft Access

Жилийн өмнө

Если вы не знаете как создать SQL-запросы в базе данных Microsoft Access, то посмотрите это видео. На примере стандарт…

Microsoft Access № 14: сортировка и фильтрация при загрузке таблицы (формы) AccessАндрей Домостой

3 жилийн өмнө

Как задать автоматическую фильтрацию (сортировку) при загрузке таблицы, запроса, формы Access? КУПИТЬ ВИДЕОКУР…

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

Запросы на обновление записей (Update Query).

Этот тип запросов-действий предназначен для изменения значений некоторых полей для всех выбранных записей. После входа в режим Design View (режим Конструктора) запроса нужно выбрать команду QueryUpdate (Запрос→Обновление). После этого в бланке запроса появится строка Update To (Обновление). Эта строка используется для того, чтобы задать новые значения для выбранных записей.

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

Бланк запроса на изменение

В бланке выбранного варианта запроса на обновление появляется поле Update To (Обновление), в которое нужно ввести новое значение поля. Чтобы увеличить (изменить) почасовую ставку подрядчиков на ЕЕК, достаточно прибавить к почасовой ставке 10 ЕЕК.

Введите в ячейку Update To (Обновление) формулу +10.

Бланк запроса на обновление

Предположим, что подрядчик Соловьева Инна поменяла фамилию. Теперь по всей базе данных необходимо изменить фамилию Соловьева на новую, например Белова.

При этом окно запроса будет выглядеть так, как показано на рисунке.

Создание запросов на обновление таблиц

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

Обновлять данные можно не во всех полях. Ниже приводится список полей, значения которых нельзя изменить запросом на обновление:

• поля, содержащие результаты вычислений, потому что их значения не хранятся в базе данных постоянно;

• поля, источником записей для которых служат итоговые запросы или перекрестные запросы, которые будут рассмотрены далее в этой главе;

• поля-счетчики, потому что их значение изменяется только при добавлении записей в таблицу;

• поля в запросах на объединение, так как эти данные не хранятся в базе, а выбираются из указанных таблиц;

• поля в запросах на уникальные значения и запросах на уникальные записи – запросах, возвращающих неповторяющиеся значения или записи;

• первичные ключи, участвующие в отношениях между таблицами, кроме тех случаев, когда эти отношения были настроены на автоматическое выполнение каскадного обновления через поля ключа и любые связанные поля.

Следующая глава >