Если в запросе необходимо отобразить записи, удовлетворяющие сложным условиям отбора, то используются
- математические операторы: сравнения: =, >, >=, <, <=
Between – значения в указанном диапазоне,
Like - проверка значения на соответствие указанному шаблону
При этом необходимо использовать знаки (#) вокруг дат и времени, и прямые кавычки (") вокруг текстовых значений.
Например,
Between "А*" AND "М*" – первая буква текстового поля находится в диапазоне от "A" до "М"
Like "*И" Or Like "*В" – содержимое текстового поля оканчивается на "И" или "В"
- логические операторы «OR» (соответствие значения одному из указанных условий) и «AND» (соответствие значения обоим указанным условиям).
Использование условий отбора в запросах обеспечивает отбор данных по заданному критерию. Для каждого поля можно записать индивидуальное условие, используя математические и логические операторы, а также знаки (#) вокруг дат и прямые кавычки (") вокруг текстовых значений.
|
|
Например,
> 200 – условие отбора записей для поля «Количество»,
значения которого больше 200,
Like "A*" – выводит список клиентов, фамилии которых начинающие на букву А,
Between #10.09.2013# And #20.09.2013# –
вывод всех дат в диапазоне от 10.09.2013 до 20.09.2013.
4.3 Использование вычисляемых полей в запросах
Выражение состоит;
- из Имени (нового поля),
- двоеточия (отделяющего Имя нового поля от вычисляемых полей),
- самих вычисляемых полей, заключенных в квадратные скобки,
- операторов +, -, *, /,
«\» (деления с округлением результата),
«^» (возведения в степень),
«&» {объединение строк}
При составлении выражения учитывается приоритетность выполнения операций.
Например,
Стоимость: [Ценна]*[Количество]
{Произведение значений полей «Ценна» и «Количество»}
Итог: [Стоимость]+([Стоимость]*0,25) {Сумма поля «Стоимость» и
результат умножения значения этого поля на 0,25}
ФИО: [Фамилия] & " " & [Имя] & " " & [Отчество]
{Значение полей «Фамилия», «Имя» и «Отчество» объединяются в одно поле «ФИО» и разделяются при этом пробелом}
Запросы с вычисляемым полем создаются на основе таблиц или других запросов. Простые выражения вводятся в вычисляемое поле запроса непосредственно.
|
|
Поле ввода можно отобразить с помощью клавиш < Shift+F2 >.
Для создания сложного выражения используется Построитель выражений, вызываемый кнопкой на панели инструментов.
4.4 Встроенные функции
Для вставки функций в выражение:
- в левой части окна построителя открыть папку Функции
- выбрать пункт Встроенные функции.
- в средней части Построителя определить категорию, в которой находится требуемая функция,
- выбрать после этого в правой части окна название искомой функции и двойным щелчком мыши перенести функцию в окно ввода выражения
4.5 Групповые операции
Применяются в запросах, где итоги вычисляются для различных групп записей в таблице.
Сначала создают новый запрос в режиме конструктора, а затем используют кнопку Итоги по столбцам .
В строке Групповая операция бланка запроса по умолчанию устанавливается значение Группировка.
Из списка Групповые операции выбираются необходимые и запрос закрывается.
Основные итоговые функции:
Sum – суммирование числа значений в группе (в столбце),
Avg, Min, Max – среднее, минимальное, максимальное значения для группы,
Count – подсчет числа значений для группы
First, Last – значение поля в первой / последней записи группы.
Могут использоваться в построителе выражений для записей путем вызова их из категории Статистические.
Например,
Sum([Продажи]) – сумма значений в группе «Продажи»,
Avg([Балл]) – среднее значение в группе «Балл».
4.6 Функции по подмножеству:
К ним относятся следующие функции:
DFirst – возвращает первое значение в множестве (таблице, запросе)
DLast – возвращает последнее значение в множестве (таблице, запросе)
DMax – возвращает максимальное значение в множестве (таблице, запросе)
DMin – возвращает минимальное значение в множестве (таблице, запросе)
DAvg – возвращает среднее арифметическое значение в множестве (таблице, запросе)
DCount – возвращает количество значений в множестве (таблице, запросе)
DSum – возвращает суммарное значение в множестве (таблице, запросе)
Синтаксис функций:
DФункции (выражение; подмножество; условия_отбора):
DФункции имеют три аргумента:
- выражение определяет поле, по которому осуществляется отбор. Это либо строковое выражение, определяющее имя поля таблицы (запроса), либо формула, по которой обрабатываются данные, содержащиеся в этом поле.
Например, "[Стоимость]", "[Балл]*2", "[Имя]";
- подмножество – строковое выражение, определяющее набор записей, составляющих подмножество. Это имя таблицы или имя запроса.
Например, "[ЗапросСтуд]", "[ЗапрСтоим]", "[ТаблСтуд]" и т.п.;
- условия_отбора – строковое выражение, используемое для ограничения диапазона данных, с которыми работает функция.
Условия_отбора содержат название поля и само условие отбора. При составлении сложных условий используются операторы OR и AND.
Поля, включенные в условия_отбора должны также входить в подмножество, в противном случае функции вернут значение Null.
Примеры использования функций по подмножеству:
DFirst("[Фамилия]";"[ЗапрИмяКатегор]";"[Категория]='Д' ")
– отобразит фамилию студента категории друг из ЗапрИмяКатегор;
DMax("[Балл]";"[ТаблСтуд]";"[Пол]='м' ")
– отобразит максимальный "Балл" студента мужского пола из ТаблСтуд;
DCount("[Оклад]";"[ТаблСотрудник]";"[Оклад]>10000")
– отобразит количество сотрудников из ТаблСотрудник, оклад которых превышает 10000р.