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

Запросы с параметрами

В таких запросах ввод условий отбора производится пользователем при каждом запуске запроса. Для организации запроса с параметрами необходимо в строке Условие отбора вместо самого условия в квадратных скобках ввести текст приглашения на его ввод:

[<текст приглашения>].

При запуске запроса с параметрами появляется диалоговое окно (рис. 4), в котором пользователь должен ввести условие отбора и нажать кнопку ОК.

Рис. 4

Вычисления в запросах

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

<Название формируемого поля>:<выражение>

В <выражении> можно использовать знаки арифметических операций, круглые скобки и имена полей в []. Например, стоимость партии можно вычислить по выражению:

Стоимость партии:[количество товара]*[стоимость единицы товара].

Если при вычислениях необходимо использовать данные из другой таблицы, то её имя указывается в префиксе, который отделяется от имени поля знаком !, например:

Стоимостьпартии:[количество_товара]*[Товар]![стоимость_единицы_ товара].

В этой формуле [Товар] – имя таблицы.

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

Для просмотра результатов запроса необходимо вызвать команду ЗАПРОС, ЗАПУСК или щёлкнуть на кнопке ЗАПУСК на панели инструментов. Результаты появятся в окне, похожем на таблицу.

Запросы с групповыми операциями

В СУБД Access существует возможность задать запросы с групповыми операциями, что позволяет находить интегральные показатели для групп записей в таблице. Каждая такая группа характеризуется одинаковым значением по какому-то полю, например, одинаковым названием отдела или семейным положением. Для перехода в данный режим запросов необходимо в панели инструментов нажать кнопку ГРУППОВЫЕ ОПЕРАЦИИ , что приведет к появлению в бланке запроса новой второй строки с одноименным названием. В ячейках данной строки указывается или режим группировки по некоторому полю (опция Группировка), или название групповой операции:

  • Sum - сумма значений;

  • Avg - среднее значение по данному полю для всей группы;

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

  • Max - максимальное значение поля в каждой группе;

  • Min - минимальное значение поля в каждой группе;

  • First - первое значение данного поля в каждой группе;

  • Last - последнее значение данного поля в каждой группе и др.

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

Задание

1. В таблице СЛУЖАЩИЙ своей базы данных осуществить следующие виды фильтрации:

  1. - выбор служащих одного отдела;

  2. - выбор служащих, название должности которых заканчивается на букву "т";

  3. - выбор служащих, фамилия которых начинается на букву "В";

  4. - выбор всех служащих, кроме одного отдела;

  5. - выбор служащих по двум должностям;

  6. - выбор служащих-женщин одного отдела.

2. Для таблицы СЛУЖАЩИЙ своей базы данных сформировать, проверить корректность и сохранить следующие запросы:

  • Отображающий в выборке поля:

- ФИО;

- дата_рождения;

- отдел;

- оклад.

  • Отображающий в выборке все поля таблицы для работников одного отдела. Сделать данный запрос параметризованным;

  • Отображающий в выборке поля:

- ФИО;

- отдел;

- количество детей,

для семейных сотрудников, фамилии которых начинаются на буквы от "Г" до "Ш";

  • Отображающий в выборке поля:

- ФИО;

- должность;

- оклад,

для холостых сотрудников с окладом больше 1000 руб.

  • Рассчитывающий для каждого сотрудника налог в виде выражения (13% от оклада).

В выборке выводятся:

ФИО;

отдел;

оклад;

налог.

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