Арифметические операторы


Арифметические операторы, как следует из названия, выполняют сложение, вычитание, умножение и деление. Арифметические операторы оперируют только с числовыми значениями и должны, за исключением унарного минуса, иметь два числовых операнда.
В приведен список арифметических операторов для выражений Access.
Арифметические операторы

Оператор

Пример

Описание

+

[Итог] + [Надбавка]

Складывает два операнда

-

Date () — 7

Считает разность двух операндов

- (унарный)

-12345

Меняет знак операнда

*

[Коробок] * [Цена коробки]

Перемножает два операнда

/

[Количество] / 12.55

Делит один операнд на другой

 

Оператор

Описание

Пример

\

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

[Коробок] \ 2

Mod

[Коробок] Mod 12

Возвращает остаток от деления нацело. Например, 15 Mod 12 равно 3

^

Возводит операнд Основание в степень Показатель

^ [Показатель]

В таблице отсутствует знак равенства (=), поскольку он отнесен к группе операторов присваивания и сравнения.
 
Операторы присваивания и сравнения
Обычно в качестве оператора присваивания значения объекту, переменной или константе используется знак равенства (=). Например, выражение =Now() может присваивать полю таблицы значение по умолчанию, и тогда знак равенства действует как оператор присваивания. С другой сторону, знак = представляет собой оператор сравнения, определяющий, равны ли два операнда.
Оператор сравнения соотносит значения двух операндов и возвращает логические значения (True или False), соответствующие результату сравнения. Основное назначение операторов сравнения — создание условий на значение, установление критериев выборки записей в запросах, определение действий макросов и контроль выполнения программ в VBA. В приведен список операторов сравнения 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 — логического эквивалента унарного минуса.
В приведены результаты логических операторов 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. Значения логических операторов для однобитовых операндов

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

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

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

битА=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