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

Инструментальные средства

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

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

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

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

Результаты выполнения запроса выводятся в режиме таблицы. Окно запроса в режиме таблицы аналогично окну просмотра таблицы базы данных. В этом режиме становится активной панель инструментов Запрос в режиме таблицы (Query Datasheet) (рис. 4.1) с перечнем кнопок, аналогичным тому, который представлен на панели Таблица в режиме таблицы (Table Datasheet) (см. рис. 3.12 главы 3).

Рис. 4.1. Панель инструментов запроса в режиме таблицы

Несмотря на то, что поля результирующей таблицы принадлежат, как правило, нескольким таблицам базы данных, с ними можно работать так, как если бы они принадлежали одной таблице. Можно менять данные в таблице результатов запроса на выборку, и сделанные изменения будут внесены в базовые таблицы. Особенно важно, что, несмотря на дублируемость данных, возникающую в результате объединения записей таблиц, изменение единственного значения в таблице запроса автоматически приводит к изменению всех повторяющихся в таблице запроса значений. Это определяется тем, что через таблицу запроса данное меняется в исходной таблице, где оно представлено один раз.

Панель инструментов конструктора запросов

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

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

Конструирование запросов

Для создания запроса нужно выбрать в окне База данных (Database) вкладку Запросы (Queries) и нажать кнопку Создать (New). В открывшемся окне Новый запрос (New Query) (рис. 4.3) выбрать Конструктор (Design View).

Рис. 4.3. Окно для выбора конструктора или мастера при создании нового запроса

Можно сразу перейти к созданию нового запроса в режиме конструктора, выбрав на вкладке Запросы (Queries) Создание запроса в режиме конструктора (Create query in Design view).

Далее в открывшемся окне Добавление таблицы (Show Table) (рис. 4.4) нужно выбрать используемые в запросе таблицы и нажать кнопку Добавить (Add). Для выхода из окна следует нажать кнопку Закрыть (Close).

В результате появится окно конструктора запросов — 3anpoc (Query): запрос на выборку (Select Query) (рис. 4.5).

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

Схема данных запроса

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

Связи, которые не были установлены Access автоматически, пользователь может установить прямо в схеме данных запроса, перетащив задействованные в связи поля из одного списка полей в другой. Связь устанавливается вне зависимости от типа отношений между таблицами. Эти отношения могут быть и неопределенными. Однако эти таблицы должны иметь общее поле или поля, по которым между ними может быть установлена связь. Связь устанавливается для объединения записей таблиц по общему полю при их обработке. По умолчанию для установленной связи выбирается первый способ объединения записей — объединение только тех записей, в которых связанные поля обеих таблиц совпадают. Имеется возможность переопределить способ объединения записей, с целью дополнить результирующий набор записей несвязанными записями одной или другой таблицы (см. разд. "Схема данных в Access"главы 3).

Если между таблицами в запросе не установлена связь, то для Microsoft Access остается неизвестным, какие записи связаны с какими, и в таблице запроса отображаются все комбинации записей таблиц, т. е. будут объединяться все со всеми. Если одна таблица содержит 10 записей, а другая 4, то в таблице запроса будет 40 записей (10x4). Такое объединение называется полным или декартовым произведением.