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

Использование выражений в запросах

При работе с объектами Access очень широко -используются выражения. Примеры простых выражений приводились ранее, например при вводе условий на значение поля в таблице (см. "Работа с таблицами" гл. 2).

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

Выражения в Access

Каждое выражение может содержать один или несколько операторов и одну или несколько констант, идентификаторов или функций. Выражение может быть сколь угодно сложным.

  • Константы — характеризуют неизменные значения. Их часто используют для создания значений по умолчанию и для сравнения значений в полях таблиц. Значения констант определяются пользователем при вводе выражения. (Например, 09, страна фирмы изготовителя Швеция.)

  • Идентификаторы — это имена объектов в Access (например, полей таблиц или запросов), которые при вычислении выражений заменяются их текущими значениями (для определения этой операции обычно используется термин возвращают). Например, идентификатор имени поля [Household Inventory] в выражении возвращает значение поля Household Inventory из текущей выделенной записи. Именованные константы и переменные, применяемые в программах Visual Basic для приложений (VBA), тоже являются идентификаторами. Существует несколько встроенных именованных констант, служащих идентификаторами: True, False, Yes, No И Null.

Замечание

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

  • Функции возвращают в выражение значение вместо имени функции. В отличие от идентификаторов, большинство функций требуют заключать в скобки свои-аргументы — идентификаторы или значения подвыражений. Например, функция Date (), имеющая пустой список аргументов, возвращает текущую дату.

  • Операторы — обычные значки арифметических операций (+, -, *, /) и другие символы и аббревиатуры. Большинство из них эквивалентны операторам традиционных языков программирования типа Basic. Некоторые — специфичны для Access или SQL, например Between или Like. Используемые в операции константы, идентификаторы и функции называются операндами.

Для создания выражений в Access существует шесть категорий операторов: арифметические, операторы присваивания, логические операторы, операторы конкатенации, идентификации и сравнения с образцом.

Ниже рассмотрены:

  • типы операторов;

  • идентификаторы объектов и функций.

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

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

В табл. 4.2 приведен список арифметических операторов для выражений Access.

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

Оператор

Пример

Описание

+

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

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

-

Date () - 7

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

- (унарный)

-12345

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

*

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

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

/

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

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

 

Оператор

Описание

Пример

\

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

[Коробок] \ 2

Mod

[Коробок] Mod 12

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

^

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

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

В таблице отсутствует знак равенства (=), поскольку он отнесен к группе операторов присваивания и сравнения.