Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Запросы.doc
Скачиваний:
12
Добавлен:
13.02.2015
Размер:
4.18 Mб
Скачать

Выполнение запроса

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

  1. В окне базы данных на панели объектов выбрать ярлык Запросы (Queries).

  2. Выделить нужный запрос в списке запросов и нажать на кнопку Открыть (Open) или дважды щелкнуть левой кнопкой мыши на нужном запросе.

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

Внешне отображение результатов запроса не отличается от отображения таблицы. Все режимы работы с таблицей, описанные в гл. 2, применимы и к результирующей таблице запроса. С ней можно работать так же, как и с обычной таблицей, в частности не только просматривать, но и изменять данные. Изменения сохраняются в записях базовой таблицы, на основе которой построен запрос. Если запрос создан на основе двух и более связанных таблиц, то не всегда столбцы в запросе можно редактировать. (Подробнее об этом см. следующий раздел.)

Для выполнения запроса из режима Конструктора достаточно просто переключиться в Режим таблицы (Datasheet View) с помощью кнопки Вид (View) на панели инструментов, как мы это уже не раз делали, или с помощью команды Режим таблицы (Datasheet View) из меню Вид (View).

В Access 2002 запрос можно открыть не только в режиме Таблицы. Вы можете выполнить обработку результатов запроса и получить на их основе сводную таблицу или диаграмму, аналогичные тем, которые можно создать на базе таблицы Excel. Это новое удобное средство обработки данных запроса мы рассмотрим подробно в гл. 8.

Изменение данных в результирующем множестве запроса

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

Является ли запрос обновляемым, можно достаточно легко обнаружить визуально: при отображении результатов запроса в конце записей должна быть пустая строка, которая помечена значком звездочки (*) в области выделения записи слева. Тогда в эту строку можно вводить данные, которые создадут новую запись. Если такая строка отсутствует, добавлять записи в запрос и изменять поля запроса нельзя.

Любой запрос имеет два свойства: Уникальные значения (Unique Values) и Уникальные записи (Unique Rows). Свойство Уникальные записи (Unique Row) исключает из результирующего набора дублированные записи, т. е. в результат запроса будут включены записи, которые имеют уникальные значения хотя бы в одном из полей. Свойство Уникальные значения (Unique Values) требует включения в результирующий набор только тех записей, которые имеют уникальные значения во всех полях. Значения этих свойств не могут одновременно быть равными Да (Yes), хотя оба могут иметь значения Нет (No). Значения этих свойств могут устанавливаться в окне свойств запроса. Большинство запросов, свойство Уникальные записи (Unique Row) которых имеет значение Да (Yes), могут использоваться для обновления данных. Запросы, свойство Уникальные значения (Unique Values) которых имеет значение Да (Yes), не допускают ни обновления имеющихся в них записей, ни добавления новых.

Вы не сможете добавлять и изменять записи в запросах, если:

  • две таблицы запроса связаны отношением "один-ко-многим" и при этом в таблице "один" не задано полей первичного ключа;

  • в запросе используются рекурсивные соединения; П в запросе применяются статистические функции SQL.

Условия, при которых можно добавить или обновить записи в запросе:

  • таблица является единственной в запросе;

  • таблицы в запросе связаны отношением "один-к-одному";

  • если таблицы в запросе связаны отношением "один-ко-многим", можно изменять поля только в таблице "многие".

Замечание

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

Печать результатов запроса

Результаты запроса можно не только посмотреть на экране, но и напечатать. Сделать это можно несколькими способами:

  1. Открыть запрос в режиме Таблицы и нажать кнопку Печать (Print) на панели инструментов. При этом таблица выводится на принтер, установленный по умолчанию, и используются параметры печати, заданные по умолчанию.

  2. Открыть запрос в режиме Таблицы и выполнить команду Файл, Печать (File, Print). В этом случае перед печатью таблицы на экран выводится стандартное окно Печать (Print) (рис. 4.39), в котором можно изменить параметры печати, заданные по умолчанию. Например, можно выделить в результирующей таблице только некоторые записи, а затем в диалоговом окне Печать (Print) установить переключатель выделенные записи (Selected Record(s)). Тогда будут напечатаны только выделенные записи.

Рис. 4.39. Диалоговое окно Печать

Настройка параметров печати при печати запроса выполняется так же, как и при печати обычной таблицы (см. разд. "Работа с таблицами"гл. 2).

Совет

Перед выводом запроса на печать полезно посмотреть его в режиме Предварительного просмотра. Для этого нужно нажать кнопку Предварительный просмотр (Print Preview) на панели инструментов. Назначение кнопок панели инструментов и возможные действия с запросом в режиме Предварительного просмотра аналогичны описанным е разд. "Печать таблицы" гл. 2.

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

  1. Выделить требуемый запрос в списке запросов окна базы данных

  2. Щелкнуть правой кнопкой мыши по названию запроса.

  3. Выбрать из контекстного меню команду Печать (Print).