
- •1 Типы моделей баз данных.
- •2. Основные сведения о ms Access
- •2.1. Особенности субд access:
- •Режим таблицы Создание и редактирование
- •Для удаления связи щелкните левой кнопкой мыши по линии связи
- •Ввод и редактирование записей
- •Обработка данных
- •Для поиска по номеру записи необходимо в закладке Образец написать номер записи и выбрать пункт Найти.
- •Сравнение различных фильтров
- •Инструкции
- •Примеры выражений в условии отбора для запросов или фильтров
Примеры выражений в условии отбора для запросов или фильтров
Выражение условия отбора может быть использовано в ячейке Условие отбора либо в окне расширенного фильтра, либо в режиме конструктора запроса.
Примеры выражений, использующие в качестве условий отбора текстовые значения
Поле |
Выражение |
Описание |
ПунктНазначения |
"Киев" |
Отображает заказы на доставку товаров в Киев. |
ПунктНазначения |
"Киев" 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 “плеер”.
Условие отбора можно сформировать по образцу с помощью Построителя выражений, который применяется во всех случаях, когда нужно вводить сложные выражения. Для вызова Построителя выражений необходимо выполнить следующие действия:
установить курсор мыши в ячейку, в которую необходимо вставить выражение;
нажать правую кнопку мыши и выберите пункт Построить;
Диалоговое окно Построитель выражений состоит из трех раз-
делов (рис.).
Поле выражения. В верхней части окна расположено поле, в ко-
тором создается выражение путем ввода с клавиатуры или с использова-
нием операторов и элементов выражения.
Кнопки операторов. В средней части окна находятся кнопки с
наиболее часто используемыми операторами. При нажатии на одну из
этих кнопок построитель вставит соответствующий оператор в текущую
позицию поля выражения. Чтобы вывести полный список операторов,
следует выбрать папку Операторы в нижнем левом поле области выражений и нужный тип в среднем поле. В правом поле будут введены все операторы выбранного поля.
Элементы выражения. В нижней части окна построителя нахо-
дятся три поля. В левом поле отображаются папки, содержащие таблицы
и другие объекты базы данных, встроенные и определенные пользователем
функции, константы, операторы и общие выражения. В среднем поле вы-
водятся элементы или типы элементов для папки, выбранной в левом поле.
Например, если выбрать в левом поле Встроенные функции и тип функции - в среднем, то в правом поле будет выведен список всех встроенных функций выбранного типа.
Вычисляемые поля
В запросе над полями могут производиться вычисления. Например,
<Выражение >: [ Цена] * [Количество].
Имя вычисляемого поля «Выражение» становится заголовком столбца в таблице с результатами выполнения запроса. Это имя можно изменить. В 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 [Заказано]) |
Заказы, итоговая сумма которых превышает среднее значение заказа. |
Запросы на изменение записей
В данную группу запросов входят следующие запросы:
обновление, добавление, удаление. Для создания этих запросов
первоначально создается запрос на выборку, а затем в окне конструктора запросов он преобразуется в один из запросов на изменение, что достигается выбором соответствующего пункта из списка, который возникает при нажатии правой кнопки мыши.
Например, при выборе пункта Обновление для отбора обновляемых записей надо включить в бланк запроса поля, требующие обновления, а также поля, по которым задаются условия отбора записей. Условия отбора задаются так же, как это делается при создании запроса на выборку.
Для обновляемого поля в строку Обновление надо ввести значение или выражение, определяющее новое значение поля. Аналогично создаем запросы на Добавление записей из новой таблицы в исходную таблицу базы данных.
Запрос на Удаление позволяет удалить записи из одной таблицы или из нескольких взаимосвязанных таблиц. В запросе указываются таблицы, из которых должны удаляться записи и задаются условия отбора удаляемых записей.
В результате выполнения запроса на создание таблицы формируется новая таблица с полями, выбранными вами из разных таблиц.