Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
informatika.doc
Скачиваний:
48
Добавлен:
03.05.2019
Размер:
12.78 Mб
Скачать

Запросы с использованием параметров

Данный вид запросов используется при необходимости менять однотипное запрашиваемое условие или его часть. В этом случае значение условия удобнее вводить с клавиатуры, а в запросе выставить его в качестве параметра – изменяемой части запроса пользователем. Следует отметить, что, начиная с версии Access2000, распознавание параметров идет автоматически, поэтому достаточно лишь организовать обращение к нему. В Access обращение к параметру идет в квадратных скобках, причем имя указываемого параметра затем появляется в окне ввода.

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

Рис. 3.28. Условие отбора с параметром

Запросы с элементами программирования

Создадим запрос, рассчитывающий заработную плату для каждого работника, с учетом того, что ему назначается премия 10 % от оклада в случае, если отработано боле 24 смен и премия 25 %, если отработано 30 и более смен. В данном случае создадим запрос с вычислениями через построитель выражений, и будем использовать функцию управления IIf, схожую по своей структуре со стандартной функцией ветвления:

IIf(<условие>;<действие, выполняющиеся, когда условие верно >;<действие, выполняющиеся, когда условие не верно>)

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

Рис. 3.29. Ввод формулы

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

Зарплата: IIf([Количество смен]>=30;[Персонал]![Оклад за смену]*[Количество смен]*1,25;IIf([Количество смен]>24;[Персонал]![Оклад за смену]*[Количество смен]*1,1;[Персонал]![Оклад за смену]*[Количество смен]))

Создадим запрос, выдающий приветствие работнику магазина в зависимости от пола:

Уважаемый …! Уважаемая…!

Здесь мы снова воспользуемся функцией IIf и строковыми функциями.

Обратите внимание, что при сложении строк образуется новая строка, объединяющая обе, но без пробела. Пробел добавляется искусственно:

Обращение: IIf([Персонал]![Пол]="М";"Уважаемый " +[Персонал]![Фамилия] +” ”+[Персонал]![Имя] +” ” +[Персонал]![Отчество] +” ”+"!";"Уважаемая " +[Персонал]![Фамилия] +” ”+[Персонал]![Имя] +” ” +[Персонал]![Отчество]+ ” ”+"!")

Рассчитайте прибыль от продаж для определенного периода. Здесь мы составим сначала запрос, рассчитывающий стоимость проданных товаров. В построителе выражений для расчета стоимости поле количество возьмем из таблицы «Заказы», а цену из таблицы «Товары». Затем зададим параметры на начальную и конечную дату и поставим в условие соответствующие ограничения.

Рис. 3.30. Ввод ограничений на поле

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]