Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Выч_техника_часть 2.DOC
Скачиваний:
33
Добавлен:
11.02.2016
Размер:
10.95 Mб
Скачать
      1. Заполнение бланкаQbe

Окно запроса в режиме конструктора (рис. 29) разделено на две части. Рассмотренная ранее верхняя часть содержит список полей всех таблиц, включенных в область действия запроса. Нижняя - сетку QueryByExample(запрос по образцу или бланкQBE), которая предназначена для определения параметров запроса. БланкQBEсостоит из строк и столбцов. Каждый столбец соответствует одному из полей, используемых в запросе. Для перемещения из верхней части окна в нижнюю и обратно, можно использовать клавишу <F6> - так же, как в конструкторе таблиц. Далее рассмотрим более подробно основные параметры запроса из бланкаQBE.

Выбор полей. Первым шагом при создании запроса является выбор полей, включаемых в набор записей. Это можно сделать несколькими способами. Для того чтобы добавить поле в бланкQBE, дважды щелкните на этом поле в окне списка полей или перетащите это поле в один из столбцов.Accessавтоматически заполнит имя поля и стандартные выборки для подсчета итоговых значений по группе, а также установит флажок опцииВывод на экран.

В самом начале списка полей, находящегося в верхней половине окна запроса (а также в раскрывающихся списках в первой строке бланка QBE), находится специальный символ звездочка «, означающий «Все поля».Чтобы включить в запрос все поля, дважды щелкните на этом символе или просто перетащите его в бланкQBE. Для того, чтобы убрать поле, выделите соответствующий столбец, щелкнув мышью в верхней его части на серой полоске и нажмите клавишу <Del>, или установите курсор ввода внутри столбца и в менюПравка выберите командуУдалить столбец.

Совокупность записей, являющихся результатом выполнения запроса (или фильтрации), называется динамическим набором записей.Для включения поля в динамический набор записей установите флажок опцииВывод на экран в бланкеQBE(рис. 29). В запрос не обязательно включать все поля, используемые в бланкеQBE. Для того, чтобы исключить поле из результирующего динамического набора записей, уберите флажок опцииВывод на экрандля этого (исключаемого) поля.

Бланк QBEсодержит ещё две строки, которые изначально не видны на экране. СтрокиИмена таблиц иГрупповые операцииспрятаны по умолчанию. Для того, чтобы вывести их на экран, выберите в менюВид одноименные команды. Когда выбор будет сделан, на экране, под строкойПоле в бланкеQBE, появятся строкиИмена таблиц иГрупповые операции.

Добавление вычисляемых полей. В бланкQBEможно добавить вычисляемые поля.Вычисляемые поля - это временные поля, создаваемые в динамическом наборе записей во время выполнения запроса; в них заносятся результаты вычислений над данными из полей таблицы. Вычисляемые поля можно использовать, например, для расчета стоимости продуктов по категориям или для объединения (конкатенации) текстовых полей.

Для создания вычисляемого поля в верхней строке бланка QBEвыделите пустую ячей-ку - имя поля. Можно ввести выражение непосредственно в этой ячейке.Accessприсвоит новому полю имя, например, Выражение 1, которое можно впоследствии изменить на более осмысленное название. Кроме того, можно сразу ввести в указанную ячейку имя нового поля, далее <:> и выражение. Имена полей, используемые в вычислениях, должны заключаться в квадратные скобки <[]>, а пробелы - в кавычки < >.

В выражениях можно использовать следующие операторы:

+

Складывает два арифметических выражения.

-

Вычитает из первого арифметического выражения второе.

*

Перемножает два арифметических выражения.

/

Делит первое арифметическое выражение на второе.

\

Округляет два арифметических выражения до целых значений и делит первое на второе. Результат округляется до целого.

^

Возводит первое арифметическое выражение в степень, задаваемую вторым арифметическим выражением.

MOD

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

&

Создает текстовую строку как результат присоединения второй строки к концу первой. Если один из операндов является числом, MicrosoftAccessперед проведением объединения (конкатенации) преобразует его в строку символов.

Рис.30. Ввод выражения в окне Область ввода

Если необходимо ввести длинное выражение, то удобно воспользоваться окномОбласть ввода, которое вызывается после щелчка мышью в ячейке строкиПоле и нажатия клавиш <Shift+F2> (рис. 30).

Для облегчения ввода сложных выражений Accessпредоставляет утилиту, называемуюПостроитель выражений. Чтобы начать с ним работу необходимо щелкнуть по пустой ячейке строкиПоле в бланкеQBEи нажать кнопкуПостроить на панели инструментов.MicrosoftAccessоткроет окноПостроитель выражений, показанное на рис. 31. Здесь, для более наглядной иллюстрации возможностей, показана открытой папкаФункции.

В

Рис. 31. Выбор встроенной функции в окне построителя выражений

верхней части окна построителя расположена пустая область ввода, предназначенная для создания выражений. Сюда можно самостоятельно вводить выражение, но гораздо легче использовать различные кнопки операторов, расположенные прямо под областью ввода. В нижней части окна находятся три списка, предназначенные для поиска имен полей и функций, необходимых для создания выражения. Чтобы введенное выражение было перенесено в бланкQBE, нажмите кнопкуOK.

Групповые операции.Иногда возникает необходимость выполнить запрос для определения некоторых значений по группам записей (рис. 32). Например, можно посмотреть итоговые суммы продаж по определенной области, определить среднюю зарплату по отделам или максимальное количество часов, необходимых для выполнения каждого заказа.Accessпозволяет выполнить эти непростые вычисления, группируя записи.

П

Рис. 32. Используйте строку Групповая операция в бланке запроса и кнопку Групповые операции на панели инструментов для тог, чтобы сгруппировать результаты запроса и выполнить расчеты для каждой из групп записей

ользователь может сам определить способ разбиения на группы в строкеГрупповая операция. Для того, чтобы вывести эту строку на экран в менюВид выберите командуГрупповая операцияили нажмите кнопкуГрупповые операции на панели инструментов. Одновременно со строкойГрупповая операцияAccessавтоматически добавляет словаГруппировкав каждое поле бланкаQBE. Теперь записи по каждому полю будут группироваться, но итоги подводиться не будут. Если выполнить запрос сейчас, то получится набор записей, включающий по одной строке для каждого уникального значения полей запроса, но без итогов. Для получения итогов замените установкуГруппировка в строкеГрупповая операцияна конкретныеитоговые функции.

Можно задать нужную функцию, введя её имя с клавиатуры или сделать выбор в раскрывающемся списке. Ниже перечислены все девять итоговых функций Accessи две установки:

Sum

Вычисляет сумму всех значений заданного поля в каждой группе. Используется только для числовых или денежных полей.

Avg

Вычисляет среднее арифметическое всех значений данного поля в каждой группе. Используется только для числовых или денежных полей.

Min

Возвращает наименьшее значение, найденное в этом поле внутри каждой группы. Для текстовых полей возвращается наименьшее из символьных значений, не зависимо от регистра.

Max

Возвращает наибольшее значение, найденное в этом поле внутри каждой группы. Для текстовых полей возвращается наибольшее из символьных значений ,не зависимо от регистра.

Count

Возвращает число непустых записей поля в каждой группе. Чтобы выполнить расчет с учетом нулевых записей, введите в строку Поле специальное выражениеCOUNT(*).

StDev

Вычисляет среднеквадратическое отклонение всех значений данного поля в каждой группе. Эта функция применяется только к числовым или денежным полям.

Var

Вычисляет дисперсию значений данного поля в каждой группе. Эта функция применяется только к числовым или денежным полям.

First

Возвращает первое значение поля в группе.

Last

Возвращает последнее значение поля в группе.

Выражение

Позволяет создавать вычисляемое поле для группы. В выражении может использоваться одна или несколько перечисленных выше функций.

Условие

Позволяет задать для данного поля критерий отбора записей в группы.

Ввод условия отбора. Задав условие в строке бланкаQBE, можно создать запрос только для записей, удовлетворяющих заданному условию. Условие отбора - один из чаще всего используемых элементов запроса. Можно отобрать необходимые записи, введя любое из следующих условий:

  • Точное совпадение. Задайте буквенное выражение, например, текстовую строкуУкр или$1000, которое должно точно совпадать со значением полей отбираемых записей; прописные и строчные символы считаются различными.

  • Поиск с использованием символов шаблона. Для задания условия используйте комбинацию букв и подстановочных символов (таблица 5), например,У* или1###; значения полей должны «вписываться» в шаблон.

  • Поиск несовпадений.Используйте операторNOTдля исключения из области действия запроса тех записей, которые удовлетворяют заданному условию отбора.

  • Поиск по дате. Для задания условия используйте фиксированную дату или операторDATE(), заменяющий текущую дату (на основании системных часов компьютера). Например, можно воспользоваться условием12/1/97 илиDATE().

  • Поиск пустых полей.Используйте операторNUL, чтобы указать, что нужны только записи, заданные поля которых пусты. Используйте операторNOT NULLдля того, чтобы указать, что в результатах запроса необходимо выдать только записи с непустыми полями.

  • Операторы сравнения.Используйте любые операторы сравнения (таблица 6) для сопоставления значений полей записей по особым правилам. Например, чтобы увидеть только записи с датой раньше текущей, можно ввести<DATE().

  • Значения Да/Нет.ИспользуйтеДа, Истина, Включеноили1, чтобы задать значениеДа. ИспользуйтеНет, Ложь, Отключеноили0, чтобы задать значениеНет.

  • Сложное условие отбора. Воспользуйтесь логическими операторами (таблица. 7), чтобы задать сложное условие для одного и того же поля.

Таблица 5. Операторы - подстановочные символы

Оператор

Описание

*

Используется вместо любого числа символов

?

Используется вместо одного любого символа

#

Используется вместо любой цифры

[]

Используется для представления одного из символов внутри квадратных скобок (например, У[КИ])

!

Используется для представления любого символа, отсутствующего в списке (например, У[КИ])

-

Используется для представления одного символа, находящегося в диапазоне (например, У[И-П])

LIKE

Используется для представления любых символов (например, LIKE «[А-Д]*», чтобы увидеть список сотрудников, чьи фамилии начинаются с буквы А, Б, В, Г или Д)

Таблица 6. Операторы сравнения (условные операторы)

Оператор

Описание

Оператор

Описание

Оператор

Описание

>

Больше чем

<=

Меньше или равно

<>

Не равно

<

Меньше чем

>=

Больше или равно

=

Равно

Таблица 7. Логические операторы

Оператор

Описание

AND

Подразумевает, что все условия должны быть выполнены одновременно.

OR

Подразумевает, что должно быть выполнено хотя бы одно из условий отбора.

NOT

Подразумевает, что условия не должны выполняться.

BETWEEN

Подразумевает, что значения должны быть в заданном диапазоне.

IN

Проверяет на равенство любому значению из списка. Например, выражение INWA», «CA», «ID») означает то же самое, что и выражение «WA» Or «CA» Or «ID».