ВЫРАЖЕНИЯ
Фильтры, рассмотренные ранее, содержат условие отбора только для одного поля. Более сложные фильтры и запросы позволяют задавать несколько условий для различных полей. Для указания условий отбора в сложных фильтрах и запросах используются выражения.
Выражения являются основным средством выполнения многих операций в Microsoft Access и представляют собой комбинацию элементов - литералов, констант, функций, идентификаторов и операторов.
Литералом называют значение в явном представлении, например, число, строковое значение или дату. Даты необходимо заключать в символы (#), а строковые значения в прямые кавычки ('').
Результатом работы функции является значение, полученное при выполнении расчётов. Идентификатор представляет собой ссылку на значение поля или объект. Операторы разделяются на арифметические, логические и сравнения (смотри таблицу).
| 
			 Операторы  | 
		
			 Обозначения в выражениях  | 
	
| 
			 Арифметические  | 
		
			 (*) умножение, (/) деление, (\) целочисленное деление, (^) возведение в степень, (-), (+), (Mod) остаток от целочисленного деления  | 
	
| 
			 Сравнения  | 
		
			 (<), (<=), (<>), (>), (>=), (Between) между  | 
	
| 
			 Логические  | 
		
			 (And), (Or), (Not), (Xor)  | 
	
Создавать выражения можно с помощью построителя выражений или непосредственно вводить символы в поля или пользоваться окном Области ввода.
Область ввода выражений
При вводе в поле бланка запроса выражения, размер которого превышает размер поля ввода, можно воспользоваться окном Область ввода, чтобы открыть окно Область ввода, следует указатель мышки установить в ту позицию, в которую следует ввести выражение и затем одновременно нажать клавиши SHIFT и F2 (смотри рисунок).

При вводе выражения осуществляется автоматическая вставка определённых символов в зависимости от типа поля, в которое вводится выражение, но эти символы не всегда добавляются, поэтому их лучше вводить вручную (смотри таблицу).
| 
			 Определённые символы  | 
		
			 В каких случаях вводить определённые символы  | 
	
| 
			 Прямые скобки ([ ])  | 
		
			 Вокруг имён полей  | 
	
| 
			 Решётка (#)  | 
		
			 Вокруг дат  | 
	
| 
			 Прямые кавычки ('')  | 
		
			 Вокруг строковых значений  | 
	
| 
			 Знак равенства (=)  | 
		
			 Всегда перед выражением, которое выполняет вычисления  | 
	
Создание выражения с помощью построителя выражений
Построитель выражений можно вызвать из поля в бланке запроса. Кликнув правой кнопкой мышки, вызываем контекстное меню и выбираем команду Построить ... .
Рассмотрим элементы окно Построителя выражений (смотри рисунок).

Выражение набирается в верхнем поле окна Построителя выражения. При наборе выражения можно вставлять элементы, выбирая их в нижних
полях Построителя, но можно непосредственно вводить с клавиатуры, закончив набор выражения, следует нажать кнопку OK.
Набранное выражение будет скопировано в позицию поля, из которой был вызван построитель.
Примеры выражений, которые задают условия отбора в запросах.
| 
			 Поле  | 
		
			 Выражение  | 
		
			 Описание  | 
	
| 
			 DOL  | 
		
			 ''техник''  | 
		
			 Отображаются записи, в которых ДОЛЖНОСТЬ - техник  | 
	
| 
			 DOL  | 
		
			 ''инженер'' Or ''лаборант''  | 
		
			 Отображаются записи, в которых ДОЛЖНОСТЬ - инженер или лаборант  | 
	
| 
			 DOL  | 
		
			 Not ''лаборант''  | 
		
			 Отображаются все записи, за исключением записей, в которых ДОЛЖНОСТЬ - лаборант  | 
	
| 
			 DOL  | 
		
			 In(''техник'';''лаборант'')  | 
		
			 Отображаются записи, в которых ДОЛЖНОСТЬ - техник или лаборант  | 
	
| 
			 FAM  | 
		
			 Like ''П*''  | 
		
			 Отображаются записи, в которых ФАМИЛИЯ начинается с буквы П  | 
	
| 
			 FAM  | 
		
			 Not Like''*р*''  | 
		
			 Отображаются записи в ФАМИЛИИ, которых нет буквы Р  | 
	
| 
			 FAM  | 
		
			 >=''О''  | 
		
			 Отображаются записи ФАМИЛИИ, которых начинаются с букв от О до Я  | 
	
| 
			 DAT  | 
		
			 Between #01.01.1975# And #31.12.1990#  | 
		
			 Отображаются записи, в которых ДАТА РОЖДЕНИЯ находится в диапазоне от 1.1.1975 до 31.12.1990  | 
	
Or - оператор ИЛИ,
Not – оператор ЗА ИСКЛЮЧЕНИЕМ,
In - оператор ВЫБОРА , Between ... And - оператор, задающий диапазон проверяемых значений
Примеры выражений с функциями DATE(), YEAR(), MONTH(),NOW()
Результаты работы функций DATE(), NOW(), YEAR(), MONTH() используются в выражениях в качестве условий отбора.
Функция DATE() - результатом работы является текущая дата, например, после выполнения DATE() - на экране отобразится 01.09.2012, если функцию выполнили 1 сентября 2012 года.
Функция NOW() - результатом работы является текущий год, час, минуты и секунды.
Функция YEAR(аргумент) - выделяет год, если аргументом является дата. Например: YEAR(#01.10.2012#) - результат 2012.
Функция MONTH(аргумент) выделяет месяц, если аргументом является дата. Например: MONTH(#01.10.2012#) результат 10.
Рассмотрим примеры выражений, которые в качестве условий отбора записей из таблицы КАДРЫ, используют перечисленные выше функции (примеры смотри в Таблице).
| 
			 Поле  | 
		
			 Выражение  | 
		
			 Описание  | 
	
| 
			 DAT  | 
		
			 YEAR([DAT])>1980  | 
		
			 Отображаются записи, в которых год рождения >1980  | 
	
| 
			 DAT  | 
		
			 MONTH([DAT])=11  | 
		
			 Отображаются записи, в которых месяц рождения 11  | 
	
| 
			 DAT  | 
		
			 YEAR(DATE())-YEAR([DAT]) >30  | 
		
			 Отображаются записи, в которых возраст > 30 лет  | 
	
| 
			 DAT  | 
		
			 YEAR(NOW())-YEAR([DAT]) >30  | 
		
			 Отображаются записи, в которых возраст > 30 лет  | 
	
| 
			 DAT  | 
		
			 YEAR([DAT])>1970 AND YEAR([DAT])<1990  | 
		
			 Отображаются записи, в которых год рождения >1970 и < 1990  | 
	
Запросы
Подобно фильтрам запросы позволяют ограничить диапазон просмотра данных, извлекая при этом поля из одной или нескольких таблиц. В сущности, запросы представляют собой вопросы, которые пользователь задаёт базе данных, то есть пользователь формирует некоторое условие, а Microsoft Access извлекает соответствующие данные.
Запрос является самостоятельным объектом базы данных. Запрос можно сохранять и использовать многократно. Запрос является производным объектом от таблицы и результатом выполнения запроса также является таблица.
Microsoft Access предлагает два способа создания запросов: в режиме Конструктора и с помощью Мастеров.
Режим Конструктора позволяет не только создавать запрос, но и модифицировать уже существующий. Открыв запрос в режиме Конструктора, можно добавлять поля, задавать условия отбора, определять порядок сортировки, обобщать информацию и так далее.
