Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция по метод Чудина.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
163.33 Кб
Скачать

4.2.3. Виды условий отбора

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

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

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

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

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

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

Таблица 7

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

Тип

Оператор

Описание

Пример

Поле

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

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

^

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

Стаж

=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.3.77

Like

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

Стаж

Like «#5»

Фамилия

Like «П*»

Дата

Like «##.##.65»

In

Проверка на равенство любому значению из списка

Стаж

In(10;12;18)

Дата

In(1.1.70; 10.2.82)

Фамилия

In («Перов»; «Жуков»)

Логические

And

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

Стаж

> 10 And < 15

Or

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

Дата

1.1.70 Or 10.2.82

Not

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

Фамилия

Not

(= «Иванов И.И.»)

Таблица 1 – Список полей таблицы «Пациенты»

Поле

Тип

Свойства

1

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

Дата/Время

Краткий формат даты

Таблица 2 – Запросы

Назначение запроса

Вид

Поля, участв в выборке

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

Результаты работы

Поле

Условие

Значение параметра

Состав выборки

1

Выбор по окладу

Параметрич

Фамилия, Оклад, должность

оклад

>[Введите сумму]

10 000

1, 3, 5