
- •Содержание
- •Работа с базой данных
- •Запросы
- •Создание запроса
- •Запрос на выборку
- •Параметрический запрос
- •Запросы с вычисляемыми полями
- •Итоговые запросы
- •Перекрестный запрос
- •Запросы на изменение данных в таблицах
- •Задания по теме «Запросы»
- •Создание формы
- •Редактирование формы
- •Формы для связанных таблиц
- •Связывание форм с помощью командных кнопок
- •Создание многостраничных форм
- •Задания по теме «Формы»
- •Создание отчета
- •Элементы управления в отчете
- •Сортировка и группировка информации
- •Примеры конструирования отчётов
- •Вычисление итогов и процентов
- •Создание и внедрение подчинённых отчётов
- •Создание почтовых наклеек
- •Просмотр и печать отчёта
- •Задания по теме «Отчёты»
- •Контрольные вопросы
- •Литература
- •Приложение 1. Кнопки панели элементов управления
Параметрический запрос
Запросы с параметром создаются в тех случаях, когда предполагается выполнять этот запрос многократно, изменяя лишь условия отбора.
В отличие от запроса на выборку, где для каждого условия отбора создается свой запрос и все эти запросы хранятся в БД, параметрический запрос позволяет создать и хранить один запрос и вводить условие отбора (значение параметра) при запуске этого запроса, каждый раз получая новый результат.
В качестве параметра может быть любой текст, являющийся подсказкой для ввода условия отбора выводимых данных. Подсказка записывается в запросном бланке в квадратных скобках в «Условие отбора» того поля, по значениям которого выводятся данные.
Значение параметра задается в специальном диалоговом окне. В случае, когда значение выводимых данных должно быть больше или меньше указываемого значения параметра, в поле «Условие отбора» бланка запроса перед параметром, заключенным в квадратные скобки, ставится соответствующий знак. Можно также создавать запрос с несколькими параметрами, которые связываются друг с другом логическими операциями И и ИЛИ. В момент запуска запроса на выполнение MS Access отобразит на экране диалоговое окно для каждого из параметров.
Пример: Вывести список продаж после заданной даты.
Рис.2. Запросный бланк параметрического запроса
Рис.3. Диалоговое окно ввода значения параметра
и результат работы параметрического запроса
Решение:
Заполнить в режиме Конструктора запросный бланк, как показано на рис.2.
Ввести параметр, заключенный в квадратные скобки в поле «Условие отбора», добавить операцию сравнения.
Нажать на панели инструментов кнопку Запуск (!).
В появившемся окне указать значение параметра (рис.3.)
Результат запроса будет содержать только те записи, которые удовлетворяют заданному значению параметра.
Запросы с вычисляемыми полями
СУБД Access позволяет выполнять вычисления с любыми полями таблицы и сделать вычисляемое выражение новым полем в наборе записей. В вычисляемых выражениях можно использовать любые из встроенных функций Access. При вычислении арифметических выражений Access присваивает результату подходящий тип данных.
Поле, содержимое которого является результатом расчета по содержимому других полей, называется вычисляемым полем.
Вычисляемые
запросы можно выполнить с помощью
специальной утилиты, называемой
Построитель
выражений – кнопка
на панели инструментов.
Построитель выражений содержит все арифметические, логические операторы, специальные символы для построения выражений и обширный класс встроенных функций, сгруппированных по назначению.
Аргументами функций могут быть сложные выражения, в состав которых входят поля таблицы. Для создания таких выражений Построитель имеет область объектов (таблицы, запросы, формы и т.д.) и область полей указанных объектов. При раскрытии объекта Функции появляется список групп функций и список функций выделенной группы.
В выражениях могут использоваться обычные операторы: +, -, *, /, а также специальные операторы, например:
MOD – остаток от деления целого выражения на целое. При необходимости происходит округление обоих выражений;
&
– конкатенация
строк - присоединение второй строки к
концу первой.
Рис.4. Диалоговое окно Построителя выражений
Примеры:
Вычислить стоимость партии товара.
Решение:
Поставить курсор в пустую ячейку строки Поле:;
вызвать Построитель выражений –
;
дважды щёлкнуть по объекту Таблицы;
выбрать таблицу Товар, затем поле Цена, кнопку Вставить;
знак (или кнопку) - * (умножить);
выбрать таблицу Продажи, затем поле Количество, кнопку Вставить;
ОК;
в пустой ячейке строки Поле получилось выражение:
Выражение1: Товар!Цена*Продажи!Количество
заменить служебное слово Выражение1 на смысловое СтоимостьПартии;
сохранить запрос c вычисленным полем, задать имя запроса:
«Стоимость».
Ввести 10% скидку на стоимость партии товара более 10 штук.
Решение:
Ввести в запросный бланк таблицу Товар и запрос Стоимость;
создать вычисляемое поле с помощью Построителя выражений, используя функцию управления – развилку:
IIf (логическое выражение;
действие1 по значению истина;
действие2 по значению ложь).
Окончательное выражение:
СтоимПартии: IIf([продажи]![Количество]>10;
0,9*[Стоимость]![СтоимостьПартии];
[Стоимость]![СтоимостьПартии])
Создать новое поле «ФИО», составленное из полей «Фамилия», «Имя», «Отчество» одной таблицы.
Решение: выражение, на основе которого выполняется запрос -
[Фамилия] & “,” & [Имя] & “,” & [Отчество]
Примечания.
Вычисляемое поле существует только в результирующей таблице запроса.
После выполнения запроса вычисляемое поле выводит на экран результат вычислений, а не само выражение.
Самый быстрый способ вставки поля в выражение в Построителе выражений – это двойной щелчок левой кнопкой мыши по имени поля.
Вычисляемое поле можно создать путем простого ввода (с клавиатуры) выражения для вычисления в ячейку «Поле» пустого столбца бланка запроса.
Вычисляемые поля имеют стандартные имена: Выражение1,2… Для удобства работы с ними следует изменить стандартные имена на смысловые непосредственно в запросной форме (в ячейке строки вычисляемого поля).
Для просмотра и ввода длинных выражений ячейки строки Поле: следует открыть окно Область ввода нажатием клавиш Shift–F2.