Упражнение 5. Запрос действия
До сих пор вы сталкивались с запросами, выполняющими выборку данных и некоторые вычисления. Однако запросы могут применяться также для добавления, удаления и обновления группы записей таблицы. Такие запросы являются мощным инструментом преобразования данных, они называются запросами действия. Предположим, что по каким-то причинам вам понадобилось скорректировать датыконтактов, заменив во всех записях таблицы Список, относящихся к 1999 году, месяц ноябрь на декабрь. Подобную операцию трудно проделать вручную,- если в таблице содержится несколько тысяч записей. Запрос действия позволяет быстро решить поставленную задачу.
- В окне базы данных щелкните на кнопке Таблицы.
- Выделите таблицу Список, данные которой нужно обновить.
- В палитре кнопки Новый объект (New Object) выберите пункт Запрос (Query). Откроется окно диалога Новый запрос (New Query), показанное на рис. 17.8. Подобное окно открывается и при щелчке на кнопке Создать (New) окна базы данных. Оно позволяет выбрать наиболее удобный способ создания объекта.
Рис. 17.8. Создание запроса
- Дважды щелкните на строке Конструктор (Design View). Таблица Список, выделенная в окне базы данных на шаге 2, автоматически появится в окне конструктора запросов.
- Перетащите в бланк запроса поле Дата, значение которого нужно обновлять.
Название поля, заключенное в квадратные скобки, является ссылкой на значение поля. Чтобы сослаться на поле другой таблицы, нужно в начале указать имя таблицы, а затем имя поля (оба имени в квадратных скобках) и разделить их восклицательным знаком. Например [Контакты]! [Фамилия].
- В палитре кнопки Тип запроса (Query Type) выберите пункт Обновление (Update Query). Описание всех возможных вариантов запросов, предлагаемых программой Access, приведено в табл. 17.2. Структура бланка запроса видоизменяется в соответствии с типом запроса. В бланке выбранного варианта запроса на обновление появляется поле Обновление (Update To), в которое нужно ввести новое значение поля. Чтобы изменить месяц даты с ноября на декабрь, достаточно прибавить к дате 30 дней.
- Введите в ячейку Обновление (Update To) формулу [Дата] +30.
ТАБЛИЦА 17.2. Варианты запросов
Тип | Описание |
Выборка (Select) ; | Выборка данных в таблицу результата запроса на основе указанных условий отбора |
Перекрестный (Crosstab) | Результат запроса выводит статистические значения (сумму, количество или среднее) для одного из полей таблицы в зависимости от двух параметров других полей таблицы, задающих заголовки строк и столбцов результата перекрестного запроса |
Создание таблицы (Make-Table) | Создание новой таблицы в текущей или в другой базе данных на базе информации из имеющихся таблиц |
Обновление (Update) | Обновление данных таблицы |
Добавление (Append) | Добавление набора записей в таблицу |
Удаление (Delete) | Удаление записей таблицы в соответствии с указанным критерием |
- Чтобы обновлялись только даты, относящиеся к ноябрю 2000 года, введите в ячейку Условие отбора формулу Between DateValue ("1.11.99") And DateValue ("30.11.99"), которая подробно обсуждалась в третьем упражнении этого занятия (рис. 17.12).
- Закройте запрос, сохранив его под именем Обновление.
- Щелкните на кнопке Таблицы окна базы данных и двойным щелчком на значке Список откройте эту таблицу. В ней есть четыре записи, относящиеся к ноябрю 2000 года.
- В окне базы данных щелкните на кнопке Запросы.
- Дважды щелкните на значке Обновление.
Рис. 17.9. Запрос на обновление
- Щелкните на кнопке Да и изучите изменения, произошедшие с данными таблицы Список.
|