Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УП(информатика).doc
Скачиваний:
225
Добавлен:
14.02.2015
Размер:
6.11 Mб
Скачать
      1. Виды условий отбора

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

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

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

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

Например, [Таблица1]![стаж].

В выражении условия отбора допускается использование опера­торов сравнения: =, <, >, =, Between, In, Like, и логических операторов And, Or, Not, которые определяют операцию над одним или несколькими операндами. Перечень операторов, которые могут присутствовать в условии отбора и примеры простых условий приведёны в табл. 7. Эти условия могут быть заданы в бланке запроса , приведённом на рис.7., кроме того, предполагается, что открыта таблица «Т1» с полями «Имя», «М_стаж» и «М_оклад». Отметим некоторые особенности написания условий отбора. Если выражение в условии отбора не содержит оператора, то по умолчанию используется оператор =. Текстовые значения в выражении вводятся в кавычках, если они содержат пробелы или знаки препинания. В противном случае кавычки можно не вводить, они будут добавлены автоматически.

Оператор Between проверяет входит ли значение поля в заданный интервал. Используется для полей типа дата/время или числового типа. Например, Between 10 And 100 задает интервал от 10 до 100, а . Between 10.01.70 And 10.02.77 задает интервал от первой даты до последней.

Оператор In выполняет проверку на равенство любому значению из списка, который задается в круглых скобках. На­пример, In ("Математика", "Информатика", "История").

Оператор Like сравнивает по образцу, который идёт после оператора и заключается в двойные кавычки “. В образце можно использовать обычные символы и символы шаблона. Чаще всего в качестве символов шаблонов применяются : * # ? . Они обозначают:

* - любое число символов Например по условию, Like “И*”, заданному в поле “Фамилия” выбираются все фамилии начинающиеся на И.

# - одна цифра. Например, по условию, Like”#5”, заданному в поле “Стаж” выбираются строки, где стаж кончается на цифру 5, а по условию Like”##.##.65” заданному в поле “Дата”, строки, где есть даты 1965 года.

? - одна буква Например, по условию, Like “?о?” , заданному в поле “Фамилия” выбираются все фамилии состоящие из трёх букв, причём средняя буква «о» .

Таблица 57 - Основные операторы, используемые в условиях отбора

Тип

Оператор

Описание

Пример

Поле

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

Арифметические

^

Возведение в степень

Стаж

=3^0,5

*

Умножение

Стаж

>2*[Т1]![ М_стаж]

/

Деление

Оклад

=([Т1]![ М_оклад])/2

+

Сложение

Стаж

>=[Т1]![ М_стаж]

-

Вычитание

Стаж

>=[Т1]![М_стаж]-10

Текстовые

&

Объединение строк

Фамилия

"Сотрудник: " & [Т1]![Имя]

Сравнения

>

Больше

Оклад

>5000

<

Меньше

Дата

< 12.02.56

>=

Больше или равно

Стаж

>=12,5

<=

Меньше или равно

Дата

<=12.02.56

=

Равно

Фамилия

=”Иванов И.И.”

<>

Не равно

Стаж

<>25

Between

Проверка на вхождение в интервал

Стаж

Between 10 And 15

Дата

Between 1.1.70 And 15.03.77

Like

Проверка по образцу

Фамилия

Like”П*”

Стаж

Like”#5”

Дата

Like”##.##.65”

In

Проверку на равенство любому

значению из списка

Фамилия

In(“Перов”,”Жуков”)

Стаж

In(10,12,18)

Дата

In(1.1.70,10.2.82)

Логические

And

И (выполняются все условия)

Стаж

>10 And <15

Or

ИЛИ (выполняется одно из условий)

Дата

1.1.70 Or 10.2.82

Not

НЕ (выполняется обратное условие)

Фамилия

Not (=”Иванов И.И.”)

В параметрическом запросе одно или несколько значений операнда могут вводиться в процессе его выполнения. Чтобы выводилось диалоговое окно для ввода конкретного значения операнда в условия отбора, нужно определить параметр запроса. Имя параметра запроса может вводиться непосредственно в строку «Условие отбора» в квадратных скобках. При вы­полнении запроса это имя появится в диалоговом окне «Введите значение параметра».

Рисунок 62 - Диалоговое окно

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

Например, для получения информации о сотрудниках, чей стаж больше введённого, условие отбора выглядит так : >[Введи минимальный стаж]. При его выполнении на экране появиться диалоговое окно с надписью «Введи минимальный стаж»(), изображённое на рис 7. И после того как туда будет введено число 10 , компьютер проанализирует условие « > 10 » и выдаст выборку, куда будет входить две строки, в которых стаж больше 10 лет (Таблица 6). Для текстовых полей удобно использовать параметрический запрос с оператором Like .Например, условие отбора для поля «Фамилия» , позволяющее находить сотрудников по полной фамилии или её началу будет выглядеть так: Like “Введи фамилию или её часть ”&”*”.

При его выполнении на экране появиться диалоговое окно c надписью: «Введи фамилию или её часть». И после того как туда будет введена буква П , компьютер проанализирует условие «Like “П*”» и выдаст выборку, куда будет входить две строки с фамилиями ,начинающимися на букву «П» (Таблица 6).

Если в запрос вво­дится несколько параметров, то порядок их ввода через диалого­вые окна определяется порядком расположения полей с пара­метрами в бланке запроса. Для того чтобы иметь возможность ввести несколько значений для одного поля при выполнении запроса, можно в условии от­бора этого поля определить несколько параметров. Например, для отбора записей по двум группам в условии отбора поля Фамилия можно записать два параметра, связанных логической операцией OR — [первая фамилия] OR [вторая фамилия].