Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
125
Добавлен:
15.06.2014
Размер:
10 Mб
Скачать

5.2.2 Организация многотабличных запросов и вычисляемого поля

Для формирования многотабличного запроса необходимо разместить в окне Конструктора запросов все участвующие в запросе таблицы и опреде­лить условия их связи. Вместе с таблицами в окне Конструктора запросов отображаются и их постоянные связи. Если необходимые постоянные связи отсутствуют, то с помощью вкладки Join (связь) организуются временные межтабличные связи.

В окне Конструктора запросов можно добавить нужные таблицы, например, с помощью команды QueryAdd Table. При этом в появившемся диало­говом окне Add Table or View выбирается требуемая таблица. В результате образ таблицы появляется в окне Конст­руктора запросов.

Если при создании БД между выбранными таблицами были установлены постоянные связи, то они будут также представлены, во-первых, в виде линий соединяющих соответствующие поля в образах этих таблиц (верхняя часть рис.5.15), а во-вторых — во вкладке Join добавятся соответствующие строки с условиями объединения таблиц.

Рис. 5.15 Окно многотабличного запроса с выбранной вкладкой Join

Если постоянных связей между выбранными таблицами ранее установ­лено не было, то открывается диалоговое окно Join Condition (условие связи), служащее для установления или модификации связи (рис. 5.16) В связи с тем, что в рассматриваемом примере имеются постоянные связи между выбранными таблицами, то окно Join Condition.было вызвано двойным щелчком мыши на выбранной линии, связываю­щей таблицы по полю dolgn. Этот прием используется также при модифи­кации типа связи.

Тип связи модифицируется или задается с помощью переключателя Туре of join (тип связи) рассматриваемого окна. В левой и правой частях окна со­держатся раскрывающиеся списки полей двух таблиц, с помощью которых выбираются поля для связи таблиц. Обычно используют предлагаемую по умолчанию опцию Inner Jоin (внутренняя связь). В этом случае создается объе­динение, в которое выбираются записи, содержащие совпадающие значения в полях связи.

Рис. 5.16. Oкно Join Condition

Замечание.

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

В качестве полей результирующей таблицы могут использоваться вычис­ляемые поля. Вычисляемое поле представляет собой выражение, включаю­щее одно или несколько полей исходной таблицы, константы и функции, со­единенные операторами. Для включения в запрос вычисляемого поля необходимо выбрать вкладку Fields Конструктора запроса и в поле Functions and expressions (функция и выражения) (рис. 5.13) ввести необходимое вы­ражение. Далее после нажатия кнопки Add (добавить) данное выражение будет занесено в список полей запроса.

Если нажать кнопку справа от поля Function and expressions (функ­ция и выражение), то открывается диалоговое окно Построителя выра­жений — Expression Builder (рис. 5.17), упрощающего формирование вы­ражения. Выбирая в поле From table Построителя имя таблицы и в поле Fields - название поля, формируем требуемое вы­ражение, которое при этом выводится в поле Expression (выражение). По нажатию ОК вычисляемое поле переносится в список полей запроса.

Пример результата выполнения многотабличного запроса с вычисляемым полем (Ехр_7) представлен на рис. 5.18.

Из рис. 5.18 видно, что вычисляемому полю автоматически был присвоен заголовок (Ехр_7), который не очень содержателен. Есть возможность из­менять заголовки полей в запросе. Для этого в поле Function and Expressions Конструктора запроса к названию формируемого поля добавляется ключевое слово AS и новый заголовок.

Сохраним результаты запроса в файле Query4.QPR.

Рис. 5.17 Диалоговое окно Expression Builder

Рис. 5.18. Результат выполнения многотабличного запроса