Создание запроса на выборку



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

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

В результате появится окно конструктора запросов – ЗапросN: запрос на выборку (рис. 24.). Окно конструктора запросов разделено на две панели. Верхняя панель содержит схему данных запроса, которая включает выбранные для данного запроса таблицы. Таблицы представлены списками полей. Первая строка в списке полей, отмеченная звездочкой (*), обозначает все множество полей таблицы. Нижняя панель является бланком запроса по образцу – QBE, который необходимо заполнить.

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

При заполнении бланка запроса:

q В строку Поле включаются имена используемых в запросе полей;

q В раскрывающемся списке Сортировка выбирается порядок сортировки записей результирующей таблицы;

q В строке Вывод на экран устанавливаются флажки для полей, которые должны быть отображены на экране;

q В строке Условие отбора задаются условия отбора записей;

q В строке или задаются альтернативные условия отбора записей.

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

q В первой строке бланка запроса Поле щелчком мыши вызвать появление кнопки списка и выбрать нужное поле. Список содержит все поля таблиц, представленных в схеме данных запроса;

q Переместить с помощью мыши требуемое поле из списка полей таблицы в схеме данных запроса в первую строку бланка запроса;

q Дважды щелкнуть на имени поля таблицы в схеме данных запроса.

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

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

Операторами сравнения и логическими операторами, использование которых допускается в выражении условия отбора являются: = (равно), > (больше), >= (не менее), < (меньше), <= (не более), Between, In, Like, And, Or, Not. Если выражение в условии отбора не содержит оператора, то по умолчанию используется оператор = (равно).

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

Условия отбора, заданные в одной строке, связываются по умолчанию с помощью логической операции И, заданные в разных строках – с помощью логической операции ИЛИ. Эти операции могут быть также заданы явно в выражении условия отбора с помощью операторов AND и OR соответственно.

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

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

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

После создания запроса его следует сохранить. Сохранение запроса выполняется командой Файл ► Сохранить или щелчком по кнопке Сохранить на панели инструментов. При первоначальном сохранении запроса нужно присвоить ему имя в диалоговом окне Сохранение.

После сохранения запроса его значок появляется в окне База данных. Двойным щелчком на этом значке запрос можно запустить. Запрос можно запустить и до его сохранения из режима Конструктор с помощью кнопки Запуск (или команды Запрос ► Запуск).

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

При сохранении запроса остается только структура запроса - перечень таблиц, список полей, порядок сортировки, тип запроса и т.д.

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


Дата добавления: 2016-01-03; просмотров: 99; Мы поможем в написании вашей работы!

Поделиться с друзьями:






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