Иллюстрированный самоучитель по Microsoft Access 2003

Расширение сферы использования запросов

Режим конструктора

Мастер позволяет быстро и эффективно создать нужный запрос, однако всегда найдется вопрос, на который у него не окажется ответа. В главе 7 рассказывается, как можно создать запрос на выборку в режиме конструктора. В частности, речь идет о привязке запроса к нескольким таблицам и об ограничении отображаемых результатов за счет представления только нужных полей. В этом разделе режим конструктора также будет применяться для решения разнообразных задач, связанных с запросами, в частности таких:

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

Активные запросы

Активными называются запросы, которые позволяют изменять данные. В этой главе рассматриваются активные запросы двух типов.

  • Запрос обновления изменяет ранее указанные данные на основании указанных критериев. Например, можно на 15% уменьшить цену всех товаров стоимостью ниже 200 рублей на ограниченный период распродажи.
  • С помощью еще одного запроса (удаления) записи удаляются, также на основании указанных критериев. К примеру, можно удалить записи о товарах, которые уже не выпускаются, вместо того чтобы отмечать их тем или иным образом.

Кроме описанных типов запросов, существуют запрос на дополнение (добавляющий записи в готовую таблицу) и запрос на создание новых таблиц. Эти запросы также считаются активными, однако в данной книге они не рассматриваются.

Изменение данных с помощью запроса обновления

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

Предположим, нам необходимо в таблице Каталоги заменить все записи Россия в поле Страна записью Российская Федерация. Когда в базе данных записей немного, сделать это несложно. Однако мы сейчас попытаемся, воспользовавшись запросом на обновление, одновременно обновить большое количество записей.

  1. Создайте копию таблицы Каталоги.
  2. Выберите созданную копию в окне Растения: база данных, а затем выполните команду Вставка › Запрос. В диалоговом окне Новый запрос дважды щелкните на записи Конструктор.
  3. Добавьте в таблицу конструктора поле Страна.
  4. Выполните команду Запрос › Обновление, в результате чего к таблице будет добавлена строка Обновление.
  5. Область обновления следует ограничить полями со значением Россия, поэтому введите имя Россия в ячейку Условие отбора столбца Страна (при этом название поля автоматически будет заключено в кавычки).
  6. Поскольку все поля Россия следует заменить полем Российская Федерация, введите последнее название в ячейку Обновление столбца Россия. На данном этапе запрос должен напоминать тот, что показан на рис. 12.15 (для того чтобы избежать путаницы, запрос на выборку будет добавлен не сейчас, а немного позже).

    Прежде чем создавать активные запросы, следует позаботиться о сохранности данных. Во-первых, сохраните копию изменяемой таблицы. Если запрос не вернет нужных результатов, останется копия первоначальных данных. Во-вторых, выполняйте активный запрос как запрос на выборку. Это позволит просматривать измененные записи без их модификации.

    Иллюстрированный самоучитель по Microsoft Access 2003 › Расширение сферы использования запросов
    Рис. 12.15. В запросе обновления указываются записи и метод их изменения

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.