Создание и использование QBE-запросов 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Создание и использование QBE-запросов



 

Для проектирования QBE-запроса в окне базы данных сначала следует выбрать раздел "Запросы", а затем нажать кнопку (Создать). На экране появится диалоговое окно (Создание запроса), в котором будет предложено выбрать один из типичных вариантов создания запроса: (Конструктор) – новый запрос создается "вручную", без помощи мастера; (Простой запрос) – запрос создается на основе выбранных полей; (Перекрестный запрос) – создается запрос, в котором данные представляются в компактном формате, подобном формату представления данных в электронных таблицах; (Повторяющиеся записи) – создается запрос, в котором отражаются повторяющиеся значения полей; (Записи без подчиненных) – создается запрос, в котором отражаются те записи из одной таблицы, которые не имеют связей с записями другой таблицы. Создание запроса с использованием Конструктора является универсальным способом разработки запроса. Остальные способы используются для быстрого создания наиболее часто встречающихся типов запросов, не предусматривающих использования сложных условий фильтрации или обработки данных.

Процесс создания запроса при помощи "Конструктора" состоит из четырех действий: 1 – выбор источников данных для запроса, т.е. таблиц, нескольких таблиц или других запросов, из которых будет отбираться информация и формироваться Recordset данного запроса; 2 – выбор из указанных источников данных полей, содержимое которых будет отображаться в запросе; 3 – задание условий отбора записей из источников данных в Recordset и условий отображения содержимого полей в запросе; 4 – открытие запроса в режиме просмотра, анализ результатов запроса и, в случае необходимости, корректировка условий отбора и отображения. Рассмотрим эти действия подробнее.

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

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

Наиболее простой способ добавления полей к запросу (второе действие по созданию запроса) заключается в "перетаскивании" при помощи мыши полей из списка полей в верхней части окна проектирования в нижнюю часть окна – в область спецификации запроса QBE. Если в качестве источника данных указать только одну таблицу и добавить из нее все поля в запрос, то такой запрос будет отображать все записи и все поля таблицы так же, как и в режиме просмотра таблицы. Более сложный случай, когда в одном запросе отображаются поля, находящиеся в разных таблицах. Например, для отображения состава сформированных на железнодорожной станции поездов, в запросе отображаются данные из таблиц "Поезда" и "Вагоны", которые связаны между собой таблицей "Состав поездов". Однако ценность таких запросов невысока, поскольку, например, вместо просмотра состава всех поездов, обычно требуется просмотреть состав конкретного поезда. В этом случае дополнительно задаются условия отбора записей из источников данных в Recordset – результат работы запроса.

Условия отбора или критерии отбора – это инструкции, посредством которых указывается, какие записи должны отбираться по запросу и "попадать" в Recordset. Условия могут задаваться для одного или нескольких полей запроса. Критерий отбора вводится в строку "Условие отбора", располагающуюся в области спецификации запроса (режим Конструктора). Простейшее условие – условие на равенство содержимого поля заранее заданному значению. В этом случае в строке "Условие отбора" и в столбце, соответствующем данному полю, записывается требуемое значение этого поля. В Recordset попадут только те записи, у которых содержимое заданного поля совпадает с заданным значением. Например, если требуется просмотреть состав конкретного поезда, для которого известен номер (№ 3011), то запрос (на этапе конструирования) может выглядеть следующим образом (Рис. 6).

Записи в запросе (точнее, в генерируемом при выполнении запроса динамическом наборе записей) могут быть рассортированы. Можно одновременно производить сортировку по содержимому нескольких полей (до десяти). Для выполнения сортировки следует указать способ сортировки в окне проектирования в спецификации на ячейке "Сортировка" того столбца (поля), по которому необходимо произвести сортировку. Например, вагоны в списке вагонов поезда № 3011 отсортированы по типу (Рис. 6).

В спецификации запроса можно при необходимости отключить индикацию поля в динамическом наборе данных. Причем можно отключить отображение и того поля, по содержимому которого производится сортировка. Поле будет отображено в таблице Recordset, если в соответствующей колонке спецификации запроса в строке "Вывод на экран" находится отметка (индикатор включен). Для отключения индикации достаточно выполнить щелчок на индикаторе, при этом отметка исчезнет. Например, нет необходимости для каждого вагона, находящегося в составе заданного поезда, выводить номер этого поезда. Поэтому для поля "Номер поезда" индикатор "Вывод на экран" отключен (см.Рис. 6).

  Рис. 6 Пример конструирования запроса (определение состава поезда по его номеру)

 

Довольно часто возникает необходимость применения запроса для проведения вычислений. Для этого необходимо задать для поля некоторую функцию, обрабатывающую его содержимое. Функция обработки задается в строке "Групповая операция", которая появляется после нажатия на панели инструментов кнопки с греческой литерой сигма. Саму функцию можно выбрать в этой строке, развернув список возможных значений. Наиболее часто используются следующие функции, которые обрабатывают содержимое заданного поля для всех записей, отобранных запросом: Sum – суммируется содержимое данного поля; Avg – вычисляется среднее значение; Min – вычисляется минимальное значение; Мах – вычисляется максимальное значение; Count – вычисляется количество значений поля; StDev – вычисляется стандартное отклонение значений данного поля; Var – вычисляется коэффициент вариации значений данного поля. Например, для расчета при помощи запроса веса поезда нетто, в запрос включаются поле "Номер поезда" из таблицы "Поезда" и поле "Вес груза" из таблицы "Вагоны". Для поля "Вес груза" в строке "Групповая операция" следует выбрать Sum.

После того, как запрос спроектирован, его можно выполнить, щелкнув на кнопке с изображением восклицательного знака или вызвав в меню (Запрос) команду (Запуск). Access отображает выбранные в Recordset записи в виде таблицы. Для внесения изменений в спецификацию запроса можно вернуться к режиму проектирования, воспользовавшись крайней левой кнопкой на панели инструментов или установив опцию (Конструктор) в меню (Вид).



Поделиться:


Последнее изменение этой страницы: 2017-02-05; просмотров: 128; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 54.196.52.45 (0.005 с.)