Создание выражения с помощью построителя выражений
Порядок создания выражения с помощью Построителя выражений отличается от ручного ввода только тем, что все имена полей и функций, а также многие операторы не вводятся с клавиатуры, а выбираются в соответствующих папках Построителя или его кнопках.
Чтобы вставить элемент выражения в поле выражения, требуется:
1. В левом нижнем поле построителя щелчком мыши выбрать папку, содержащую нужный элемент. Если на папке изображен «+», то это папка-контейнер, содержащая другие папки (например, папка Таблицы, содержащая папки с конкретными таблицами.). В таком случае необходимо распахнуть ее двойным щелчком и выбрать требуемую папку.
2. В нижнем среднем поле дважды щелкните элемент, чтобы вставить его в поле выражения, или выберите тип элементов.
3. Если выбран тип в нижнем среднем поле, то значения будут отображаться в нижнем правом поле. Дважды щелкните на значении, чтобы вставить его в поле выражения.
4. Вставьте необходимые операторы в выражение. Для этого поместите указатель мыши в определенную позицию поля выражения и выберите одну из кнопок со знаками операций, расположенных в середине окна построителя или введите их с клавиатуры.
5. Закончив создание выражения, нажмите кнопку OK.
Microsoft Access скопирует созданное выражение в ту позицию, из которой был вызван построитель выражений. Если в данной позиции уже содержится значение или если построитель выражений был вызван из окна модуля, в котором имеется выделенный текст, то исходное значение или выделенный текст будут заменены на новое выражение.
Групповые операции
Запрос, по сути, есть обычный вопрос, а значит, кроме формы «кто конкретно», он должен иметь еще и форму «сколько всего». До этого момента мы рассматривали запросы на выборку, которые отбирали из общего массива только ту информацию, которая соответствовала некоторому критерию, например, все книги жанра «научная фантастика». Однако предположим, что нас заинтересовала не конкретная информация, а общая, например, сколько вообще в нашем магазине предлагается книг жанра «научная фантастика». Вот для такой ситуации и были предусмотрены в конструкторе запросов так называемые групповые операции. По умолчанию, поле задания параметра группировки является скрытым, но если, имея какой-нибудь запрос в режиме конструктора, обратиться в системное меню Вид и щелкнуть там мышью по режиму Групповые операции, то в бланке запроса появится дополнительная строка с аналогичным наименованием.
Группировка - понятие тонкое, но весьма важное и порою даже совершенно незаменимое. По умолчанию, в строке Групповые операции СУБД устанавливает в каждом столбце значение «Группировка», в соответствии с которым данные по каждому полю группируются, но результат не выводится. Если же нужен некий конкретный результат, то вместо «группировки» следует применить одну из девяти групповых функций (табл. 3.5).
Таблица 3.5. Функции, используемые в групповых операциях
Наименование | Назначение |
SUM | Вычисляет сумму всех значений заданного поля в каждой группе. Применяется только для числовых и денежных полей. |
AVG | Вычисляет среднее арифметическое всех значений данного поля в каждой группе. Применяется только для числовых и денежных полей. |
MIN | Возвращает наименьшее значение в рамках каждой группы. Применяется для любых полей, кроме логических и "мемо". В случае текстового содержания, возвращается наименьшее символьное значение независимо от регистра. |
MAX | Возвращает наибольшее значение в рамках каждой группы. Применяется для любых полей, кроме логических и "мемо". В случае текстового содержания, возвращается наибольшее символьное значение независимо от регистра. |
COUNT | Возвращает число записей, в которых значение данного поля отличается от Null. Хотя при использовании конструкции Count (*) можно подсчитать число всех записей, включая "нулевые". |
STDEV | Подсчитывает статистическое стандартное отклонение для всех значений данного поля в каждой группе. Функция применяется только для числовых и денежных полей. Если в группе менее двух записей, возвращается значение Null. |
VAR | Подсчитывает статистическую дисперсию для всех значений данного поля в каждой группе. Применяется только к числовым и денежным полям. Если в группе менее двух записей, возвращается значение Null. |
FIRST | Возвращает первое значение этого поля в группе. |
LAST | Возвращает последнее значение этого поля в группе. |
Кроме стандартных, в Microsoft Access допустимы и два дополнительных варианта: "Выражение" и "Условие". Выбрав вариант "Выражение" в строке "Поле", можно задать конкретное выражение, например:
Max[(наименование поля)] - Min[(наименование поля)],
на соответствие с которым программа должна проводить проверку. В данном случае она покажет максимальную величину разброса некоторого параметра, хранимого в данном поле. Выбор "Условия" активизирует ссылку на строку " Условие отбора", что позволяет в значительной мере расширить число возможных комбинаций вариантов выполнения групповых операций. Так, например, применение режима "Условие" в графе "Рубрика" позволяет сначала отобрать из общего массива только конкретную рубрику, а уже к ней применить всю мощь аппарата запросов Microsoft Access, причем сделать все это в одном запросе, а не в несколько приемов.
Таким образом, использование построителя выражений и групповых операций открывает широкое поле для комбинаций. Пользуясь одним единственным механизмом запросов, разработчик может разделать любую таблицу или связку таблиц буквально как душа пожелает. Можно просто получить некую выборку для дальнейшей обработки, а можно сходу ознакомиться с итоговыми выражениями «и не иметь себе головной боли».