Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Запросы.doc
Скачиваний:
12
Добавлен:
13.02.2015
Размер:
4.18 Mб
Скачать

Операторы присваивания и сравнения

Обычно в качестве оператора присваивания значения объекту, переменной или константе используется знак равенства (=). Например, выражение =Now() может присваивать полю таблицы значение по умолчанию, и тогда знак равенства действует как оператор присваивания. С другой сторону, знак = представляет собой оператор сравнения, определяющий, равны ли два операнда.

Оператор сравнения соотносит значения двух операндов и возвращает логические значения (True или False), соответствующие результату сравнения. Основное назначение операторов сравнения — создание условий на значение, установление критериев выборки записей в запросах, определение действий макросов и контроль выполнения программ в VBA. В табл. 4.3 приведен список операторов сравнения Access.

Таблица 4.3. Операторы сравнения

Оператор

Пример

Результат

Описание

<

1 < 100

True

Меньше

<=

1 <= 1

True

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

=

1 = 100

False

Равно

>=

100 >= 1

True

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

>

100 > 100

False

Больше

<>

1 <> 100

True

Неравно

 

Замечание

Если один из операндов имеет значение Null (пустое значение), то любое" сравнение возвращает значение Null (тоже пустое значение).

Логические операторы

Логические (булевы) операторы используются для объединения результатов двух или более выражений сравнения в единое целое:

  • And — конъюнкции (логического И);

  • Or — дизъюнкции (логического ИЛИ);

  • Not — логического отрицания;

  • Хог — исключающего ИЛИ;

  • Eqv — логической эквивалентности;

  • Imp — логической импликации.

Они могут состоять только из выражений, возвращающих логические значения True, False или Null. В противном случае выполняется побитовое сравнение. Логические операторы всегда требуют двух операндов, за исключением Not — логического эквивалента унарного минуса.

В табл. 4.4—4.6 приведены результаты логических операторов Access в зависимости от значения операндов.

Таблица 4.4. Зависимость значения логических операторов от значения операндов

A=True B=False

A=True B=True

A=False B=False

A=False B=True

A And В

False

True

False

False

A Or В

True

True

False

True

Not A

False

False

True

True

А Хог В

True

False

False

True

A Eqv В

False

True

True

False

A Imp В

False

True

True

True

Для всех логических операторов, кроме Imp, значение одного из операндов Null приводит к значению результата Null.

Таблица 4.5. Значения оператора Imp с Null-операндами

A=Null B=False

A=Null B=True

A=False B=Null

A=True B=Null

A=Null B=Null

A Imp В

Null

True

True

Null

Null

В случае если сравниваются два выражения и, по крайней мере, одно из них не является константой из множества (True, False, Null), логические операторы приводят к побитовому сравнению выражений-операндов (табл. 4.6).

Таблица 4.6. Значения логических операторов для однобитовых операндов

Значения соответствующего бита результата

битА=1 бит В=0

6итА=1 битВ=1

6итА=0 бит В=0

бит А=0 бит В=1

A And В

0

1

0

0

A Or В

1

1

0

1

Not A

0

0

1

1

А Хог В

1

0

0

1

A Eqv В

0

1

1

0

A Imp В

0

1

1

1

Операторы слияния строковых значений (конкатенации)

Стандартный значок оператора конкатенации SQL, амперсант (&), является более предпочтительным, чем значок плюса (+), хотя оба они приводят к одинаковому результату: объединению двух текстовых значений в единую строку символов. Применение значка плюс (+) двусмысленно, его основное назначение — сложение двух числовых операндов.

Пример: слияние "Visual" & "Basic" дает "Visual Basic". Обратите внимание на дополнительный пробел в первом слове, без него результат выглядел бы несколько иначе: "VisualBasic".

Операторы идентификации

Операторы идентификации применяются в качестве разделителей в ссылках на объекты (оператор "!"), их методы или свойства (оператор "."):

КлассОбъекта!ИмяОбъекта

КлассОбъекта!ИмяОбъекта.Свойство

КлассОбъекта!ИмяОбъекта.Метод()

ИмяОбъекта.Свойство

ИмяОбъекта.Метод().

Эти операторы позволяют объединять имена объектов и классов объектов для отбора специфических объектов или их свойств, различать имена объектов и их свойств, идентифицировать определенные поля в таблицах.

Например:

  • Forms!Категории, Tables ! Категории — идентификация формы и таблицы с одинаковыми именами;

  • MyTextbox.Caption = "Будьте внимательны!" — здесь MyTextbox — объект управления, a Caption — свойство;

  • Заказы! [Код клиента] — определяет поле "Код клиента" (CustomerlD) в таблице "Заказы" (Customers).

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