Установка критериев отбора записей
Определение критериев выборки в запросах является одной из основных задач. Чтобы сформировать требуемый пользователю набор данных необходимо определить значения условий отбора в строке «Условие отбора:» QBE. В условиях отбора можно использовать логические операторы (or, and, not), операторы сравнения (<, >, <=, >=, <>, =), а также операторы Between, In и Like.
Можно задать несколько условий отбора, соединенных логическим оператором или (or), для некоторого поля одним из двух способов:
1. ввести всё условие в одну ячейку строки «Условие отбора:»,с использованием логическогооператораили (or).
2. одну часть условия указать в ячейке строки «Условие отбора:», а вторую часть условия вписать в нижнюю ячейку строки «Или:».
Оба варианта будут эквивалентными, второй вариант изображен на рисунке 16.4. Результатом этого запроса будет список студентов имеющих оценки 4 или 5.
Рисунок 16.4 - Использование логического оператораили (or).
Логическая операцияи (and) используется в том случае, когда должны быть выполнены оба условия одновременно и только в этом случае запись будет включена в результирующий набор данных. Например, условие >2 and <5 даст список студентов имеющих оценки 3 и 4.
Логическая операция and может быть использована не только для одного поля, но и для нескольких полей, условия в которых должны выполниться одновременно, однако, в этом случае она используется неявно. На рисунке 16.5 показано неявное использование логической операции and. В результате такого запроса будут выданы все студенты, проживающие в городе «Уфа» и имеющие оценку 5. Фактически, если заглянуть в код SQL (в режиме SQL) то можно увидеть следующее условие:
[Студенты].[Город] = “Уфа” and [Студенты и занятия].[Балл] = “5”
Рисунок 16.5 – Пример использования логической операции и (and)
Операторы и и илиприменяются как отдельно, так и в комбинации. Следует помнить, что условия связанные оператором ивыполняются раньше условий, объединенных оператором или.
Оператор Betweenпозволяет задать диапазон значений, например диапазон от 10 до 20 может быть определен следующим образом:
between 10 and 20
Оператор In позволяет использовать для сравнения список значений, указываемый в качестве аргумента. Например:
in (“первый”,”второй”,”третий”)
Оператор Like полезен для поиска образцов в текстовых полях, причем позволяет использовать шаблоны:
* - обозначает любое количество символов;
? - любой одиночный символ;
# - указывает, что в данной позиции должна быть цифра.
Например, для выбора фамилии, начинающейся с буквы П и с окончанием “ов” можно записать следующие условие:
Like П*ов
Особый подход к работе с полями типа дата. Значение даты в условиях отбора должно быть заключено в символы #. Например:
>#31.12.1996#
Если требуется выделить временные события конкретного дня, месяца или года, то можно использовать встроенные функции MS Access:
§ Day(дата)– возвращает значение дня месяца в диапазоне от 1 до 31;
§ Month(дата)– возвращает значение месяца в диапазоне от 1 до 12;
§ Year(дата) – возвращает значение года в диапазоне от 100 до 9999;
Текущую дату можно определить функцией Now(), используемую без аргументов.
Вычисляемые поля
В запросах на выборку можно определять вычисляемые поля, значения которых будут получены в результате каких-либо арифметических операций над полями участвующими в запросе. Например, если необходимо определить размер надбавки, равной 15% от оклада, то можно записать в строке «Поле» свободного столбца бланка запросов следующее выражение:
Надбавка: [ Оклад]*0.15
В результате будет создано вычисляемое поле с именем «Надбавка», содержащее результат вычисления для каждой строки полученного набора данных.
При создании выражений для вычисляемых полей можно использовать «Построитель выражений», который можно вызвать кнопкой «Построить», панели инструментов.
В верхней части окна область ввода, в которой редактируется выражение. Выражение может быть введено вручную, но обычно используются кнопки арифметических и логических операторов, расположенные под областью ввода. Нижний, средний список содержит перечень полей входящих в запрос, эти поля можно использовать в выражении. Поля добавляются двойным кликом мыши или нажатием кнопки «Вставить». пи поля полей входящих в запрос, которые можно использовать в выражении.ражений
Допустим, существует запрос «Отпуск товаров со склада», который содержит поля «КолОтп» (количество отпущенное) и «ЦОтп» (цена отпускная), требуется определить сумму продажи. Открываем запрос в режиме конструктора, переходим на пустой столбец и запускаем построитель выражений командой «Построить», контекстного меню. Находим в среднем списке имя поля «ЦОтп» и дважды щелкаем по нему мышкой. Нажимаем кнопку «*» и повторяем ту же последовательность действий для поля «КолОтп». Получаем требуемое выражение (рисунок 16.6).
Рисунок 16.6 - Окно построителя выражений
Прежде чем применить созданное выражение, рекомендуется определить имя вычисляемого поля, например «Сумма»:
Сумма: [ЦОтп]*[КолОтп]
После нажатия «ОК» полученный результат будет помещен в новый столбец бланка QBE.
Дата добавления: 2015-11-18; просмотров: 836;