Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пос_БД_SQL_Server_Access.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
2.41 Mб
Скачать
    1. Создание запросов на выборку данных в режиме

Конструктор

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

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

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

Рис. 4.1. Бланк запроса

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

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

в строку Имя таблицы включаются имена таблиц, из которых взяты поля;

в строке Сортировка выбирается порядок сортировки записей результата;

в строке Вывод на экран отмечаются поля, которые должны быть включены в результирующую таблицу;

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

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

Поля бланка запроса. На втором этапе необходимо включить в запрос нужные поля (столбцы) одним из следующих способов:

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

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

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

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

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

В качестве операндов выражения могут использоваться литералы, константы, идентификаторы (ссылки).

Литералами являются конкретные значения, воспринимаемые Access так, как они записаны. В качестве литералов могут быть использованы числа, текстовые строки, даты. Текстовые строки заключаются в двойные кавычки, даты в символы «#». Например, 685, «Базы данных», #01/09/02#.

Константами являются неизменяющиеся значения, которые определены в Access, например, “True”, “False”, “Да”, “Нет”, “Null”.

Идентификатор представляет собой ссылку на поле, элемент управления или свойство. Идентификаторами могут быть имена полей, таблиц, форм, отчетов и т.д. Они должны заключаться в квадратные скобки. Как правило, Access производит автоматическую подстановку скобок.

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

[Имя таблицы]![Имя поля]

Ссылка на свойство DefaultValue элемента управления «Год рождения» в форме СТУДЕНТЫ:

Forms![СТУДЕНТЫ]![Год рождения].DefaultValue

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

Они определяют операцию над одним или несколькими операндами. Если выражение в условии отбора не содержит оператора, то по умолчанию используется оператор = .

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

Допускается использование операторов шаблона - * (звездочка) и ? (вопросительный знак).

Оператор Between позволяет задать интервал для числового значения или для дат. Например, Between 10 And 100 задает интервал от 10 до 100, Between #01.09.02# And #10.09.02# задает интервал дат от 1 до 10 сентября 2001 года.

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

In («Математика», «Информатика», «Физика»).

Оператор Like позволяет использовать образцы, использующие символы шаблона, при поиске в текстовых полях. Например, Like «С*» .

Примеры задания условий отбора Таблица 4.1

Поле

Выражение в строке “Условие отбора”

Комментарий

Группа

“ВМ-071”

Все записи, где шифр группы равен ВМ-071

Группа

“ВМ-0711” OR “ВМ-072”

Все записи, где шифр группы совпадает с ВМ-071 или ВМ-072

Группа

NOT “ВМ-073”

Все записи кроме записей, где шифр группы равен ВМ-073

Дата рождения

= #01.09.92#

Все записи, где дата рождения равна 1 сентября 1992 года

Дата рождения

BETWEEN #01.09.92# AND #30.09.92#

Все записи, где дата рождения попадает на сентябрь 1992 года

Продолжение табл. 4.1

Дата поступления

>DATE( ) – 30

Все записи, где дата поступления попадает в интервал – последние 30 дней

Дата поступления

YEAR ([Дата поступления])=2007

Все записи, где дата поступления совпадает с 2007 годом

Фамилия

“П” или LIKE “П”

Все записи, где фамилия начинается с буквы П

Фамилия

LIKE “ов”

Все записи, где фамилия заканчивается на “ов”

Фамилия

LIKE “[П-Я]” или >= “П”

Все записи, где фамилия начинается на буквы от П до Я

Фамилия

LEN ([ФИО])>VAL(10)

Все записи, где фамилия содержит больше 10 букв

Номер зачетки

RIGHT([Номер зачетки];2)=21

Все записи, где номер зачетки заканчивается на 21

Стипендия

>= 1000

Все записи, где стипендия больше или равна 1000

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

Таблица 4.2

Пример заполнения запроса на выборку данных

Поле

Номер зачетки

Фамилия

Шифр группы

([Физика]+ +[Математи-ка])/2

Имя таблицы

Студенты

Студенты

Студенты

Сортировка

Вывод на экран

Условие отбора

LIKE ”П”

“ВМ-071”

Или

“ВМ-072”

В выборке будут присутствовать “Номер зачетки”, “Фамилия”, “Шифр группы”, средняя оценка для тех записей, у которых фамилия начинается с буквы “П”, а шифр группы совпадает или с “ВМ-981”, или “ВМ-982”.

Условие отбора можно формировать с помощью Построителя выражений:

активизировать ячейку в строке Условие отбора для поля, в котором задают выражение для поиска (курсор мыши установить в ячейку ввода условия отбора);

щелкнуть по кнопке Построить на панели инструментов или выбрать в контекстном меню команду Построить;

задать выражение и выйти из окна.

Выполнение запроса и просмотр полученной выборки:

в режиме Конструирование щелчок по кнопке Выполнить на панели инструментов, щелчок по кнопке Конструктор возвращает в режим конструирования;

в окне базы данных щелчок по вкладке Запросы, по имени запроса и по кнопке Открыть.

Модификация запроса.

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

Для удаления таблицы из запроса ее выделяют щелчком и выбирают пункты меню Запрос, Удалить таблицу (или вызывают контекстное меню, щелкнув по имени таблицы правой кнопкой мыши, и выбирают пункт Удалить таблицу, или нажимают клавишу Delete).

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

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

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