Редактирование и анализ данных с помощью запросов

В первой части книги мы познакомили вас с одним из важнейших объектов базы данных Access — запросами. При этом рассматривался только один вид запросов — запросы на выборку данных из таблиц. Microsoft Access, однако, позволяет не только выбирать нужные данные, но и изменять их с помощью специальных запросов. Такие запросы называются запросами на изменение (Action Query). Существует четыре типа запросов на изменение.

  • Запросы на создание таблицы (Make-Table Query) создают таблицы на основе данных, содержащихся в результирующем множестве запроса. Чаще всего этот тип используется для экспорта информации в другие приложения. Кроме того, запросы на создание таблицы удобно применять для копирования таблиц в другую базу данных. В некоторых случаях с их помощью можно повысить быстродействие форм и отчетов, базирующихся на одном сложном запросе.
  • Запросы на добавление записей (Append Query) позволяют добавить в таблицу создаваемые запросом записи.
  • Запросы на обновление (Update Query) изменяют значения полей в записях таблицы, отобранных с помощью запроса.
  • Запросы на удаление (Delete Query) удаляют из таблицы записи, соответствующие результирующему множеству запроса.

Если таблицы содержат большое количество данных, важно не только извлечь нужные данные, но и как-то обработать их, т. е. представить в виде, удобном для анализа. В предыдущих версиях Access для этого существовал специальный вид запросов — перекрестные запросы. В Access 2010 для анализа данных можно применять сводные таблицы — мощное и удобное средство анализа, уже давно прекрасно зарекомендовавшее себя в Microsoft Excel. Сводные данные можно теперь представить не только в табличном, но и в графическом виде с помощью сводных диаграмм.
Более простым способом обработки результирующих данных запроса является группировка и вычисление различных итоговых значений. Это можно сделать прямо в запросе на выборку, определив поля для группировки и используя статистические функции.
И наконец, для создания запросов можно использовать специальный язык — Jet SQL, т. е. диалект языка структурированных запросов, который используется ядром базы данных Access — процессором обработки данных Jet.
Итак, в этой главе описывается:

  • Использование запросов для обновления данных, добавления и удаления записей в таблицах
  • Перекрестные запросы
  • Создание таблиц с помощью запросов
  • Сводные таблицы и диаграммы
  • Типичные конструкции SQL при формировании различных типов запросов

 

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

  1. Создать запрос на выборку.
  2. Преобразовать запрос на выборку в запрос на изменение, задав параметры размещения новой таблицы.
  3. Выполнить запрос на изменение, тем самым поместив отобранные записи в новую таблицу.

Созданию различных запросов на выборку мы уделили достаточно внимания . Оставшиеся два этапа описаны ниже на примере запроса на выборку "Холодные клиенты", созданного в базе данных "Борей" при описании внешнего соединения .

  1. Откройте запрос "Холодные клиенты" в режиме Конструктора, выделив его имя в списке запросов в окне базы данных и нажав кнопку Конструктор (Design).
  2. Добавьте в бланке запроса критерий выборки: Is Null в столбце "КодЗаказа".
  3. Сбросьте флажок Вывод на экран (Output) для этого поля.

Замечание
Это нужно сделать, чтобы поле не попало в новую таблицу. Поле "КодЗаказа" в таблице "Заказы" определено как Счетчик и не может иметь значение Null. Это свойство наследуется новой таблицей, поэтому если флажок не сбросить, то при выполнении запроса будет выдаваться сообщение об ошибке.
Преобразование запроса на выборку в запрос на изменение
Чтобы создать таблицу из результатов запроса, использовавшегося для отбора записей в связанных таблицах, его нужно преобразовать из запроса на выборку в запрос на изменение. Для этого:

  1. Выберите команду меню Запрос, Создание таблицы (Query, Make Table) [ Меню Запрос доступно только в режиме Конструктора запроса. ] или щелкните по стрелке на кнопке Тип запроса (Query Type) на панели инструментов и выберите из списка тип Создание таблицы (Make-Table Query). Диалоговое окно Создание таблицы (Make Table) показано на.
  2. В текстовом поле имя таблицы (Table Name) введите описательное имя для новой таблицы, например: список холодных клиентов.

Внимание
В базе данных Access не должно быть таблицы и запроса с одинаковыми именами.
В этом диалоговом окне можно определить также, где должна быть создана таблица — в текущей базе данных (переключатель в текущей базе данных (Current Database) выбран по умолчанию) или в другой базе данных. В последнем случае нужно выбрать переключатель в другой базе данных (Another Database) и ввести имя этой базы данных.

  1. Нажмите кнопку ОК. Запрос на выборку преобразуется в запрос на создание таблицы.
  1. Нажмите стрелку на кнопке Вид (View) панели инструментов и выберите из списка элемент SQL View (Режим SQL). Вы увидите инструкцию SQL, которая генерируется автоматически, когда вы в графическом режиме создаете запрос. Она отличается от обычной инструкции SELECT тем, что содержит еще одно предложение INTO…
  2. Сохраните и закройте запрос. Теперь в окне базы данных ему соответствует другой значок, который сопровождается восклицательным знаком, это означает, что запрос является запросом на изменение.