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

Глава 5. Функции. Формулы. Выражения. Построитель выражений

При работе с различными объектами в Access широко используются выражения — аналог формул в Excel. Выражение — это любая комбинация операторов, констант, функций и идентификаторов - операндов, результатом которой является некоторое значение. Выражения часто употребляются для проверки различных условий и проведения вычислений в таблицах, запросах, формах и отчетах. Они позволяют выполнять действия с числами, датами и текстовыми значениями в каждой записи, используя данные из одного или нескольких полей. Например, с помощью выражения можно перемножить значения двух числовых полей или объединить несколько текстовых значений.

5.1. Операторы

В выражениях применяются следующие типы операторов:

  • арифметические операторы — используются для выполнения математических вычислений;

  • операторы конкатенации — используются для слияния строк;

  • операторы сравнения — используются для выполнения операций сравнения;

  • логические операторы — используются для выполнения логических операций;

  • операторы идентификации — создают однозначные имена объектов БД.

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

Операнды должны быть выражениями, имеющими числовое значение. Для изменения приоритета арифметических операций используются круглые скобки. Если хотя бы один из операндов является выражением со значением Null, то результат имеет значение Null.

Например, оператор деления нацело «\» округляет оба операнда до целых значений, а затем делит первый на второй. Результат округляется до целого, например, 11 \ 2 = 5; 7,6 \ 2,5 = 4.

Таблица 5.1. Арифметические операторы

Оператор

Описание

Пример

+

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

[Цена] + 10

Вычитает из первого операнда второй или меняет знак операнда

[Дата1] – [Дата2]

–111

*

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

[Цена]*[Вес]

/

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

[Сумма] / 10

\

Делит один операнд на второй нацело

[Месяц] \ 4

^

Возводит первый операнд в степень, задаваемую вторым операндом

[Число] ^ [Степень]

Mod

Возвращает остаток от деления нацело

[Месяц] mod 4

5.1.2. Операторы слияния строк (конкатенации)

Операторы & (амперсанд) или + создают текстовую строку, присоединяя содержимое второй строки к концу первой. Если один из операндов — число, то он преобразуется перед проведением операции слияния в строку символов. Для объединения строк лучше использовать оператор &, а не +, так как если одна из участвующих в операции строк, например <строка 2>, имеет значение Null, то результат операции <строка 1> + <строка 2> равен Null, , а результат операции <строка1> & <строка 2> равен <строка 1>.

Например, в выражении "Число заказов = " & [Число заказов] объединяются строка символов и значение поля Число заказов. Если число заказов равно 100, то результатом выполнения операции будет строка "Число заказов = 100".

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

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

Кроме стандартных операторов сравнения, приведенных в таблице 2, в Access имеется еще четыре дополнительных оператора сравнения: Is, In, Between и Like, которые обычно используются для проверки условия на значение в поле или в условиях отбора записей в запросе.

Оператор Isпри использовании вместе с Null определяет, является ли значение Null или Not Null. Например, Is Null применяется для отбора записей, имеющих в данном поле значение Null, а Is Not Null — для отбора записей, имеющих в данном поле непустое значение.

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

Оператор

Описание

Пример

Результат

<

Меньше, чем

1+2 < 3+4

True

<=

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

1 <= 3/5

False

>

Больше, чем

1 > 0

True

>=

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

0 >= 1

False

=

Равно

1 = 1

True

<>

Не равно

1 <> 1

False

Оператор Inосуществляет проверку значения на совпадение с элементом из заданного списка. Элементы списка отделяются друг от друга точкой с запятой. Текстовые значения должны браться в кавычки, например, In("Москва";"Киев";"Минск") или In(2;4;6;8).

Оператор Between осуществляет проверку, находится ли числовое значение внутри заданного диапазона. Например, Between 10 And 20 означает, что значение должно находиться в интервале [10, 20].

Оператор Likeосуществляет проверку значения на соответствие заданному шаблону.

Таблица 5.3. Спецсимволы, используемые в операторе Like

Спецсимвол

Совпадающие символы

?

Любой одиночный символ

#

Любая одиночная цифра (0-9)

*

Любое число символов или их отсутствие

[список]

Любой одиночный символ, входящий в список

[!список]

Любой одиночный символ, не входящий в список.

В таблице 3 перечислены специальные символы, используемые в шаблоне, и соответствующие им символы в сравниваемом выражении. При проверке совпадения символов их регистр роли не играет. Чтобы включить в список диапазон символов, нужно указать первый символ, знак дефиса и затем последний символ, например [К-Р].

Примеры использования оператора:

Like "А*ов"- любой текст, начинающийся с буквы «А» и заканчивающийся буквами «ов»;

Like "K??#"- значение должно содержать четыре символа, начинаться с буквы K и заканчиваться цифрой.

Like "[А-ВК]*"- любой текст, начинающийся с букв А, Б, В и К;

Like "[!П-СЯ]*"- любой текст, не начинающийся с букв П, Р, С и Я.