Упражнение 5. Запрос действия

До сих пор вы сталкивались с запросами, выполняющими выборку данных и некоторые вычисления. Однако запросы могут применяться также для добавления, удаления и обновления группы записей таблицы. Такие запросы являются мощным инструментом преобразования данных, они называются запросами действия. Предположим, что по каким-то причинам вам понадобилось скорректировать даты контактов, заменив во всех записях таблицы Список, относящихся к 1999 году, месяц ноябрь на декабрь. Подобную операцию трудно проделать вручную, если в таблице содержится несколько тысяч записей. Запрос действия позволяет быстро решить поставленную задачу.

1. В окне базы данных щелкните на кнопке Таблицы.

2. Выделите таблицу Список, данные которой нужно обновить.

3. В палитре кнопки Новый объект выберите пункт Запрос. Откроется окно диалога Новый запрос. Подобное окно открывается и при щелчке на кнопке Создать окна базы данных. Оно позволяет выбрать наиболее удобный способ создания объекта.

4. Дважды щелкните на строке Конструктор. Таблица Список, выделенная в окне базы данных на шаге 2, автоматически появится в окне конструктора запросов.

5. Перетащите в бланк запроса поле Дата, значение которого нужно обновлять.

6. В палитре кнопки Тип запроса выберите пункт Обновление. Структура бланка запроса видоизменяется в соответствии с типом запроса. В бланке выбранного варианта запроса на обновление появляется поле Обновление, в которое нужно ввести новое значение поля. Чтобы изменить месяц даты с ноября на декабрь, достаточно прибавить к дате 30 дней.

7. Введите в ячейку Обновление формулу [Дата] +30.

8. Название поля, заключенное в квадратные скобки, является ссылкой на значение поля. Чтобы сослаться на поле другой таблицы, нужно в начале указать имя таблицы, а затем имя поля (оба имени в квадратных скобках) и разделить их восклицательным знаком. Например [Контакты]![Фамилия].

9. Чтобы обновлялись только даты, относящиеся к ноябрю 2000 года, введите в ячейку Условие отбора формулу Between DateValue ("1.11.99") And DateVaIue ("30.11.99"), которая подробно обсуждалась в третьем упражнении этого занятия.

10. Закройте запрос, сохранив его под именем Обновление.

11. Щелкните на кнопке Таблицы окна базы данных и двойным щелчком на значке Список откройте эту таблицу. В ней есть записи, относящиеся к ноябрю 2000 года. Запросы действия могут выполнять широкомасштабные изменения данных, которые отменить уже невозможно.

12. В окне базы данных щелкните на кнопке Запросы..

13. Дважды щелкните на значке Обновление.

14. Ответьте Да на вопрос о необходимости запуска запроса действия.

Access проинформирует вас об обнаружении записей, удовлетворяющих условию отбора, и попросит подтвердить необходимость их изменения.

15. Щелкните на кнопке Да и изучите изменения, произошедшие с данными таблицы Список.