
- •Работа с простейшими базами данных
- •1. Создание новой базы данных
- •2. Создание новой таблицы базы данных
- •3. Типы данных
- •4. Общие свойства поля
- •2. Запросы системы access
- •2.1. Основные виды запросов
- •2.2. Основы конструирования запроса
- •Вызов конструктора запросов
- •Правила заполнения бланка запросов
- •4.2.3. Виды условий отбора
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 |