Работа с построителем выражений

Вызов построителя выражений можно осуществить несколькими способами:

1) кн. Построить на ПИ

2) командой Построить из контекстно.з. меню

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

Пример 1. Пусть требуется ввести условие отбора данных в виде:

>= Date() And <= Date() + 6

Это выражение можно написать в окне ввода построителя, а можно действовать так:

· по кн. >, а затем по кн. = построителя

· вставить в выражение функцию Date (). Для этого:

¨ открыть папку Функции (2с по имени папки) в левом окне построителя

¨ открыть папку Дата/Время в окне Категории ( по имени папки в среднем окне построителя)

¨ выбрать функцию Date() в правом окне построителя ( по имени функции и кн. Вставить или 2с по имени функции)

· аналогично открыть список логических функций и вставить в выражение функцию And

· по кн. <, а затем по кн. = построителя

· вставить еще раз функцию Date ()

· кн. + построителя, набрать цифру 6 и кн. ОК

Если при наборе выражения делается ошибка, то построитель автоматически может вставить слово, заключенное в угловые скобки (например, « выражение»), чтобы сообщить, какого типа элемент пропущен.

Удаление слова, вставленного построителем:

по слову и клавиша Del

 

Правила построения выражений

Выражения строятся из операндов, знаков операций (операторов) и функций.

Операнды:

1) Идентификаторы (имена объектов ACCESS):

· полей (в таблице, запросе, форме, отчете)

· элементов управления в текущем или в другом объекте

· таблиц или запросов

· свойства

Полное имя объекта задается с использованием следующих символов:

[] - выделяет имя объекта, состоящее более, чем из одного слова (т. е. имеющее пробелы в имени), например [номер детали]

! - разделяет имена объектов, например [Поставщики]![номер поставщика]. Здесь Поставщики - имя таблицы, а номер поставщика - имя поля этой таблицы.

. (точка) - отделяет имена объектов от свойств, например

Forms ![Предприятия]![Отбор]. OnClick *****

Здесь Forms - служебное слово, указывающее тип объекта, имя которого указано далее

[Предпрития] - имя формы, [Отбор] - имя кнопки (элемента управления) на форме, а OnCkick - имя свойства кнопки (Нажатие кнопки).

2) Литералы:

· текстовые заключаются в двойные кавычки, например “Бишкек ”

· типа даты заключаются в символы решетки, например #31.01.2005#

· числовые записываются буквально, например 5245

3) Константы (специальные литералы):

· “” - пустая строка соответствует текстовому выражению, которое ничего не содержит

· Null - пустое ( не введенное) значение

· Истина (True)/ Ложь(False) - логические значения

Операторы:

1) Арифметические (+ - * / ^ \ Mod). Здесь символ \ означает деление без остатка ( возвращает только целую часть частного), Mod - вычисляет остаток от деления

2) Текстовые (+ &). И тот, и другой символ используются для слияния (конкатенации) строк текста

3) Отношения или сравнения (> >= = <>(не равно) < <= Between...And). Between ...And означает в указанном диапазоне, например Between 5 And 10 означает в диапазоне от 5 до 10 включительно.

4) Логические (And, Or, Not и пр.)

5) Присваивания (=)

6) Like , содержащий символы подстановки:

* - любая группа символов

? - один любой символ

Например Like “A*”, что означает начинающиеся на букву А.

 

Функции:

· Пользовательские (созданные пользователем)

· Встроенные:

¨ Математические: Sin (), Sqr(), Abs() и пр.

¨ Текстовые (для работы с текстом): Ltrim (), Rtrim(), Trim() - удаляют ненужные пробелы в начале, в конце, в начале и в конце строки и пр.

¨ Дата/ Время: Year([Поставки]![Дата поставки]) - выделяет в виде четырех цифр год из поля Дата поставки таблицы Поставки

¨ Статистические: Max (), Sum(), Avg() и пр.

¨ Общие: In() - обозначает принадлежность заданному в скобках множеству значений, например In (1;5;7;23) или In (“Бишкек”;”Талас ”;”Ош ”) и пр.

¨ Проверки: IsNull() - проверяет, имеет ли поле пустое (не введенное) значение, например IsNull([Цена акции]) и пр.

¨ Управления: Iif (), например Iif([Цена акции>100; “Дорогая”; “Дешевая”), что означает: если условие [Цена акции]>100 - истина, то функция возвращает значение “Дорогая”, если - ложь, то функция возвращает значение “Дешевая” и пр.