Работа с построителем выражений
Вызов построителя выражений можно осуществить несколькими способами:
1) кн. Построить на ПИ
2) командой Построить из контекстно.з. меню
Открыв окно построителя, в его поле ввода можно писать выражения с помощью клавиатуры, а можно условие формировать с помощью кнопок построителя, выбирая операнды из списков.
Пример 1. Пусть требуется ввести условие отбора данных в виде:
>= Date() And <= Date() + 6
Это выражение можно написать в окне ввода построителя, а можно действовать так:
· 1с по кн. >, а затем по кн. = построителя
· вставить в выражение функцию Date (). Для этого:
¨ открыть папку Функции (2с по имени папки) в левом окне построителя
¨ открыть папку Дата/Время в окне Категории (1с по имени папки в среднем окне построителя)
¨ выбрать функцию Date() в правом окне построителя (1с по имени функции и кн. Вставить или 2с по имени функции)
· аналогично открыть список логических функций и вставить в выражение функцию And
· 1с по кн. <, а затем по кн. = построителя
· вставить еще раз функцию Date ()
· кн. + построителя, набрать цифру 6 и кн. ОК
Если при наборе выражения делается ошибка, то построитель автоматически может вставить слово, заключенное в угловые скобки (например, « выражение»), чтобы сообщить, какого типа элемент пропущен.
Удаление слова, вставленного построителем:
1с по слову и клавиша 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 - истина, то функция возвращает значение “Дорогая”, если - ложь, то функция возвращает значение “Дешевая” и пр.