Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекци 11-12 часть 2Access.doc
Скачиваний:
3
Добавлен:
25.04.2019
Размер:
354.82 Кб
Скачать

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

Выражение условия отбора может быть использовано в ячейке Условие отбора либо в окне расширенного фильтра, либо в режиме конструктора запроса.

Примеры выражений, использующие в качестве условий отбора текстовые значения

Поле

Выражение

Описание

ПунктНазначения

"Киев"

Отображает заказы на доставку товаров в Киев.

ПунктНазначения

"Киев" Or "Минск"

Использует оператор Or для отображения заказов на доставку товаров в Киев или Минск.

ДатаОтгрузки

Between #05.01.95# And #10.01.95#

Использует оператор Between...And для отображения заказов на отгрузку товаров не ранее 5-янв-95 и не позднее 10-янв-95.

ДатаОтгрузки

#02.02.95#

Отображает заказы на отгрузку товаров 2-фев-95.

СтранаДоставки

In("Канада", "Великобритания")

Использует оператор In для отображения заказов на доставку товаров в Канаду или Великобританию.

СтранаДоставки

Not "США"

Использует оператор Not для отображения заказов на доставку товаров во все страны, за исключением США.

ИмяПолучателя

Like "С*"

Заказы на доставку товаров клиентам, имена которых начинаются с буквы С.

Название

>="Н"

Отображает заказы на доставку товаров в фирмы, названия которых начинаются с букв, находящихся в диапазоне от Н до Я.

КодЗаказа

Right([КодЗаказа], 2)

="99"

Использует функцию Right для отображения заказов, код которых заканчивается на 99.

Название

Len([Название])

>Val(30)

Использует функции Len и Val для отображения заказов для фирм, названия которых состоят из более чем 30 символов.

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

Поле

Выражение

Отображает

ИмяКлиента

Like "С*"

Выполненные заказы для клиентов, имена которых начинаются с буквы С.

ИмяКлиента

Like "*Импорт"

Выполненные заказы для клиентов, имена которых заканчиваются на слово "Импорт".

ИмяКлиента

Like "[А-Д]*"

Выполненные заказы для клиентов, имена которых начинаются с букв от А до Д.

ИмяКлиента

Like "*тр*"

Выполненные заказы для клиентов, имена которых содержат сочетание букв «тр».

ИмяКлиента

Like "Дом мод?"

Выполненные заказы для клиентов, у которых имя начинается со слова «Дом», а второе слово в имени содержит четыре буквы, причем первые три из них «мод», а четвертая неизвестна.

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

полученные результаты в качестве условия отбора

Поле

Выражение

Описание

ДатаИсполнения

Between Date( ) And DateAdd("m", 3, Date( ))

Использует оператор Between...And и функции DateAdd и Date для отображения заказов, требующих исполнения в течение трех месяцев, начиная с сегодняшней даты включительно.

ДатаЗаказа

< Date( )- 30

Использует функцию Date для отображения заказов, сделанных ранее, чем 30 дней назад.

ДатаЗаказа

Year([ДатаЗаказа])=1996

Использует функцию Year для отображения заказов, сделанных в 1996 году.

ДатаЗаказа

DatePart("q", [ДатаЗаказа])=4

Использует функцию DatePart для отображения заказов на четвертый квартал.

ДатаЗаказа

DateSerial(Year( [ДатаЗаказа]),Month([ДатаЗаказа ])+1,1)-1

Использует функции DateSerial, Year и Month для отображения заказов на последний день каждого месяца.

ДатаЗаказа

Year([ДатаЗаказа])=

Year(Now())And Month

([ДатаЗаказа])=

Month(Now())

Использует функции Year и Month, а также оператор And для отображения заказов текущего года и месяца.

Наиболее часто используемыми операторами являются:

- Оператор Between позволяет задать интервал для числового значения.

Например, Between 1 and 10 задает интервал от 1 до 10.

- Оператор In позволяет выполнить проверку на равенство любому значению из списка, который задается в круглых скобках. Например,

In (“телевизор”, “видеомагнитофон “, “плеер”).

- Оператор Like позволяет осуществить поиск по шаблону. Например, Like “плеер”.

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

  • установить курсор мыши в ячейку, в которую необходимо вставить выражение;

  • нажать правую кнопку мыши и выберите пункт Построить;

Диалоговое окно Построитель выражений состоит из трех раз-

делов (рис.).

  1. Поле выражения. В верхней части окна расположено поле, в ко-

тором создается выражение путем ввода с клавиатуры или с использова-

нием операторов и элементов выражения.

  1. Кнопки операторов. В средней части окна находятся кнопки с

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

этих кнопок построитель вставит соответствующий оператор в текущую

позицию поля выражения. Чтобы вывести полный список операторов,

следует выбрать папку Операторы в нижнем левом поле области выражений и нужный тип в среднем поле. В правом поле будут введены все операторы выбранного поля.

  1. Элементы выражения. В нижней части окна построителя нахо-

дятся три поля. В левом поле отображаются папки, содержащие таблицы

и другие объекты базы данных, встроенные и определенные пользователем

функции, константы, операторы и общие выражения. В среднем поле вы-

водятся элементы или типы элементов для папки, выбранной в левом поле.

Например, если выбрать в левом поле Встроенные функции и тип функции - в среднем, то в правом поле будет выведен список всех встроенных функций выбранного типа.

Вычисляемые поля

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

<Выражение >: [ Цена] * [Количество].

Имя вычисляемого поля «Выражение» становится заголовком столбца в таблице с результатами выполнения запроса. Это имя можно изменить. В Access имеются встроенные функции, которые можно использовать в вычисляемых полях:

Date- формирует текущую дату;

Month- выделяет месяц из значений поля, содержащего дату;

Dlookup-возвращает значение конкретного поля из записи связанной таблицы;

Sum-сумма значений некоторого поля для группы;

Avg- среднее от всех значений поля в группе;

Max, Min - максимальное, минимальное значение поля в группе;

Count - число значений поля в группе без учета пустых значений;

Stdev - среднеквадратичное отклонение от среднего значения поля в группе;

Var - дисперсия значений поля в группе;

Fist и Lastзначение поля из первой и последней записи в группе.

При этом девять последних функций статистические и применяются только с использованием групповых операций, т.е. одновременно для всех записей выбранного поля.

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

Статистические функции по подмножеству

Существуют следующие статистические функции по подмножеству:

DAvg, Dcount, Dlookup, DFirst, DLast, DMin, DMax, DStDev, DstDevP, Dsum,

DVar, DvarP.

В отличие от групповых операций такие функции можно использовать в «условии отбора» в конструкторе запроса. Особенно эффективны такие функции в случае, когда применяются в условии отбора несколько функций, связанных логиче­скими операциями, например, dMax() Or dMin().Функция вычисляет значение, обусловленное их названием, для указанного поля по части записей или по всем записям таблицы.

Структура обращения к статистическим функциям по подмножеству следующая:

имя функции(“выражение”; ”набор” ; [“условие ”])

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

Набор” – это строковое выражение, определяющее набор записей, являющийся источником данных для запроса. Может содержать имя таблицы или запроса и заключается в кавычки.

Условие “ – это необязательное строковое выражение, ограничивающее диапазон данных, для которых выполняется статистическая функция. Если условие отсутствует, то функция выполняется над всеми записями источника данных.

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

Поле

Выражение

Описание

Фрахт

>(DStDev("[Фрахт]", "Заказы") + DAvg("[Фрахт]", "Заказы"))

Использует функции DAvg и DStDev для отображения всех заказов, для которых цена фрахта поднялась выше средней плюс стандартное отклонение цены.

Количество

>Davg("[Количество]", "Заказано")

Использует функцию DAvg для отображения заказанных товаров, количество которых превышает среднее.

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

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

Поле

Выражение

Отображает

Цена

(SELECT [Цена] FROM [Товары] WHERE [НазваниеТовара] = "Анисовый сироп")

Товары, цена которых равна цене анисового сиропа.

Цена

>(SELECT AVG([Цена]) FROM [Товары])

Товары, цена которых превышает среднюю.

Итог: [Цена]* [Количество]

> ALL (SELECT AVG([Цена] * [Количество]) FROM [Заказано])

Заказы, итоговая сумма которых превышает среднее значение заказа.

Запросы на изменение записей

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

обновление, добавление, удаление. Для создания этих запросов

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

Например, при выборе пункта Обновление для отбора обновляемых записей надо включить в бланк запроса поля, требующие обновления, а также поля, по которым задаются условия отбора записей. Условия отбора задаются так же, как это делается при создании запроса на выборку.

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

Запрос на Удаление позволяет удалить записи из одной таблицы или из нескольких взаимосвязанных таблиц. В запросе указываются таблицы, из которых должны удаляться записи и задаются условия отбора удаляемых записей.

В результате выполнения запроса на создание таблицы формируется новая таблица с полями, выбранными вами из разных таблиц.