- •Лабораторная работа №6.
- •1. Цель лабораторной работы.
- •2. Теоретический материал для домашнего изучения.
- •Порядок выполнения работы.
- •2.1. Создание запросов.
- •2.1.1. Создание запроса на выборку в режиме конструктора.
- •2.1.2.Создание запроса на выборку с помощью мастера.
- •2.1.7. Задание условий отбора в полях запроса
- •2.1.8. Вычисления в запросе.
- •3. Лабораторные задания.
- •Используя таблицу Фирмы
- •Открытие базы данных
- •Создание запроса “Список фирм”
- •Задание 2.
- •Список студентов, содержащий поля:
- •Список юношей в возрасте старше 18 лет, содержащий поля:
- •Список отличников, содержащий поля:
- •4. Методические рекомендации для оформления отчёта
- •Цель лабораторной работы.
- •5. Контрольные вопросы.
2.1.7. Задание условий отбора в полях запроса
Условия отбора - это ограничения, которые пользователь накладывает на запрос для определения записей, с которыми он будет работать. Например, вместо просмотра всех поставщиков фирмы, можно просмотреть только поставщиков из Литвы. Для этого необходимо указать условие отбора, отсеивающее все записи, кроме тех, у которых в поле СТРАНА указано ЛИТВА.
Чтобы установить условие отбора для поля в бланке запроса (рис. 4.), в ячейку УСЛОВИЕ ОТБОРА для данного поля введите нужное выражение. В предыдущем примере выражением является "Литва".
В табл. 1 приведены примеры выражений, использующихся в качестве условий отбора
Таблица 1
Поле |
Выражение |
ПунктНазначения |
"Киев" |
ПунктНазначения |
"Киев" Or "Минск" |
ДатаОтгрузки |
Between #05.01.99# And #10.01.99# |
ДатаОтгрузки |
#02.02.99# |
СтранаДоставки |
In("Канада", "Великобритания") |
СтранаДоставки |
Not "США" |
ИмяПолучателя |
Like "С*" |
Название |
>="Н" |
КодЗаказа |
Right([КодЗаказа], 2) ="99" |
Название |
Len([Название]) >Val(30) |
Если выражения находятся в разных ячейках, но в одной строке, то автоматически используется оператор And, что означает, что будут выбраны только записи, отвечающие условиям отбора, указанным во всех ячейках. Если выражения находятся в разных строках бланка запроса, то автоматически используется оператор Or, что означает, что будут выбраны записи, отвечающие любому условию отбора, указанным в ячейках.
2.1.8. Вычисления в запросе.
Существует ряд вычислений, которые можно выполнить в запросе, например, найти сумму или среднее по значениям одного поля, перемножить значения двух полей. Результаты вычислений, выводящиеся в поле, не запоминаются в базовой таблице. Вместо этого, вычисления снова производятся всякий раз, когда выполняется запрос, поэтому результаты всегда представляют текущее содержимое базы данных. Обновить вычисленные результаты вручную невозможно.
Для определения вычисляемого поля можно использовать встроенные функции Microsoft Access или выражения, создаваемые пользователем.
Для расчетов с использованием формул, определяемых пользователем, требуется создать новое вычисляемое поле прямо в бланке запроса. Вычисляемое поле создается с помощью выражения, которое вводится в пустую ячейку Поле в бланке запроса. В формулах используются стандартные математические операторы: + Сложение, - Вычитание, * Умножение, / Деление.
Все формулы начинаются со знака равенства ( = ), а все названия полей заключаются в квадратные скобки. Например:
Сумма: = [Количество]*[Цена]
При выполнении расчетов допускаются сложные выражения, например, Sum([НаСкладе]+[Заказано]). Есть возможность определить для вычисляемого поля условие отбора, позволяющее отбирать используемые в расчетах данные.
В табл. 2 приведены примеры выполнения арифметических операций в вычисляемых полях (В бланк запроса в ячейку ПОЛЕ вводится выражение. Поля, на которые в выражении содержатся ссылки, находятся в таблицах или запросах текущего запроса).
Таблица 2
Выражение |
Описание |
ПервоначальныйФрахт: [Фрахт] * 1.1 |
Отображает в поле ПервоначальныйФрахт стоимость фрахта плюс 10 процентов. |
ОбъемЗаказа: [Количество] * [Цена] |
Отображает в поле ОбъемЗаказа произведение значений полей Количество и Цена. |
ВремяДоставки: [ДатаЗаказа] - [ДатаОтгрузки] |
Отображает в поле ВремяДоставки разницу между значениями полей ДатаЗаказа и ДатаОтгрузки. |
ВсегоВНаличии: [ТоварыНаСкладе] + [ЗаказаныеТовары] |
Отображает в поле ВсегоВНаличии сумму значений полей ТоварыНаСкладе и ЗаказанныеТовары. |
Создание выражения с помощью построителя выражений.
Построитель выражений может быть вызван при создании вычисляемого поля или в поле УСЛОВИЕ ОТБОРА в бланке запроса.
Установите указатель в позицию, в которую требуется ввести выражение, и нажмите правую кнопку мыши.
В контекстном меню выберите команду “Построить”. На экране появится окно построителя выражений (рис. 5).
В левом нижнем поле построителя выберите папку, содержащую нужный элемент.
В нижнем среднем поле дважды щелкните элемент, чтобы вставить его в поле выражения, или выберите тип элементов.
Дважды щелкните на значении, чтобы вставить его в поле выражения.
Рисунок 5 - Окно построителя выражений
Вставьте необходимые операторы в выражение. Для этого поместите указатель мыши в определенную позицию поля выражения и выберите одну из кнопок со знаками операций, расположенных в середине окна построителя.
Закончив создание выражения, щелкните кнопку OK. Microsoft Access скопирует созданное выражение в ту позицию, из которой был вызван построитель выражений.