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

Запрос на создание таблицы

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

Сначала необходимо подготовить запрос на выборку и полу­чить динами­че­ский набор данных Recordset, заодно проверив корректность запроса. Если ре­зуль­тирующий набор записей со­ответствует поставленным требованиям, необ­ходимо вернуться в режим конструкто­ра и в меню Запрос выбрать команду Соз­дание таблицы. Access откроет диалоговое окно Создание таблицы, в которое следует ввести имя новой табли­цы. Далее нужно выполнить запрос, нажав кнопку с восклица­тельным знаком на панели инструментов. В специаль­ном диало­говом окне Access укажет, сколько записей добавляется в новую таб­лицу, и потре­бует подтвердить выполнение этой операции.

Индикация результатов выполнения запросов

Запрос на изменение модифицирует данные, или копирует их из одной таб­лицы в другую. Он не создает динамический набор записей Recordset, кото­рый можно отобразить на экране в режи­ме таблицы. Чтобы увидеть изменения, нужно либо преобразовать запрос на изменение в запрос на выборку, либо от­крыть таблицу ре­зультатов запросов на создание таблиц, на добавление и удале­ние.

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

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

Параметрические запросы

Запросы, которые представляют собой варианты базового запроса и не­значительно отличаются друг от друга, называются параметрическими.

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

Для этого, прежде всего нужно разработать запрос на выборку данных, вклю­чив в него поля Фамилия, Населенный пункт и Адрес. Поля строки Критерии необходимо заполнить не конкретными критериями отбора, а обра­щением к пользователю для ввода критерия. Во время выполне­ния запроса это обращение будет адресо­вано пользователю, который введет критерий отбора. На основе этого критерия (с учетом других критериев, заданных в спецификации запроса) будет осуществ­ляться отбор записей. Обращение необходимо заключить в квадратные скобки, например: [Назовите город], [Укажите адрес].

Для проверки работоспособности запроса нужно нажать на кнопку Открыть. При этом Access обратится с просьбой задать значение критерия в окне Введите значение пара­метра.

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

Перекрестные запросы

Перекрестные запросы позволяют компактно отображать отобранные данные и объединять однородную информацию. Таблицы, в которых отобража­ются резуль­таты выполнения пе­рекрестного запроса, удобны для создания диа­грамм и графи­ков с помощью мастера.

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

Создадим перекрестный запрос Продавец-Покупатель на ос­нове таблицы Торговля, используя для выбора фамилий покупа­телей таблицу Адреса.

Для этого в меню Запрос нужно активизировать команду Перекрестный запрос. Access отобразит в бланке запроса строки Групповая операция и Пере­крестная таблица. Включить в бланк запроса поля Продавец и Объем операций из таблицы Торговля и поле Фамилия из таблицы Адреса. Чтобы значения поля (например, Продавец) появились в заголов­ках строк, необходимо выполнить щелчок на строке Перекрестная таблица и выбрать в списке строку Заголовки строк. В строке Групповая операция для этого поля должна сохраниться стандартная установка Группировка.

Чтобы значения поля Фамилия появились в заголовке колон­ки, нужно выполнить щелчок на строке Перекрестная таблица и выбрать строку Заголо­вки столб­цов. В этом случае в строке Групповая операция должна остаться стандартная уста­новка Группировка.

Для отображения содержимого поля в перекрестной таблице в качестве зна­чения (Объем операции) нужно щелкнуть на строке Перекрестная таблица и выбрать строку Значение. В строке Групповая операция для этого поля ввести необходимую функцию — Sum.

При определении критериев отбора в строке Групповая операция для желае­мого поля сле­дует выбрать значение Условие и ввести выражение в строку Условие отбора. Для этого поля строку Перекрестная таблица нужно оставить пустой. Для рассмат­ривае­мого случая критерий от­бора не вводить.

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

Создание перекрестного запроса с помощью мастера

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

В окне базы данных нужно перейти на вкладку Запросы и щелкнуть на кнопке Создать. В появившемся диалоговом окне Новый запрос выбрать зна­чение Перекрестнй запрос и нажать кнопку ОК.

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

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

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

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