Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Практикум БД_в_ред_11_сокр

.pdf
Скачиваний:
57
Добавлен:
08.04.2015
Размер:
4.46 Mб
Скачать

4.В первой строке столбца, которое называется Поле, постройте выражения для расчета возраста сотрудника и его зарплаты по известным формулам (см. упр. 7). Закройте КОНСТРУКТОР.

5.Откройте запрос для просмотра информации. При открытии появится диалоговое окно

для ввода нового значения в поле [Курс]. Проверьте правильность расчета.

71

Запросы с параметром в условии

1.Чтобы иметь возможность задавать параметры условий отбора при выполнении запроса (без перехода в режим КОНСТРУКТОРА), используйте при построении условия вместо конкретного значения название переменной величины, взятое в квадратные скобки, например, [Укажите возраст сотрудника].

2.Откройте запрос «Кадры с вычислениями» и, удалив колонку «Зарплата», сохраните его. Скопируйте этот запрос и назовите новый запрос «Сотрудники по возрасту».

3.Откройте запрос «Сотрудники по возрасту» в КОНСТРУКТОРЕ.

4.Используйте в новом запросе только поля [Фамилия], [Имя], [Пол], [Должность], [Отдел], [Возраст], а все другие удалите.

5.В поле [Возраст] в строке «Условие отбора» напишите фразу в квадратных скобках >[Старше какого возраста?].

При открытии этого запроса появляется диалоговое окно «Введите значение параметра» для ввода данных.

Смотрите иллюстрацию на следующей странице.

72

Таким будет результат исполнения запроса при вводе в окно параметра «40».

73

Контрольные вопросы:

1.Для решения каких задач используются формы?

2.Как можно создать форму?

3.Как форма связана с запросом?

4.Какие разделы могут содержать формы?

5.Чем отличается главная форма от подчиненной?

6.Какие три режима отображения формы существуют?

7.Какие элементы управления можно использовать для отображения данных?

8.Как изменить свойства элемента управления?

9.Какое свойство связывает элемент управления с данными из таблицы или запроса?

10.Как изменить базовый запрос формы, и когда это бывает необходимо?

11.Почему в созданной форме могут не отображаться данные?

12.Почему в элементе управления может появиться сообщение «#Ошибка?» или

«#Имя?»?

13.Какой элемент управления предназначен для поиска данных?

14.В каком элементе управления можно проводить вычисления?

74

Получение итоговых значений в БД

Упр. 10. Запросы с итогами

Внимание. Упражнение выполняется в исходной базе данных «Кадры.mdb».

Порядок выполнения задания

Создание итогового запроса с помощью МАСТЕРА

1. Выберите в новый запрос поля [Отдел], [Оклад], [Возраст] из запроса «Кадры с вычислениями».

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

3. Сохраните новый итоговый запрос с именем «ФОТ по отделам» (ФОТ – фонд оплаты

75

труда). Перейдите в режим «Редактирование запроса в режиме КОНСТРУКТОРА».

4.Посмотрите, что в отличиe от подробного запроса, в итоговом появилась строка «Групповая операция». В этой строке для поля [Отдел] установлено значение Группировка, для поля [Оклад] – Sum (сумма), для поля [Возраст] – Avg (среднее значение).

5.В новой колонке «Count-Сотрудники» построено новое выражение: Count(*).

6.Добавьте в запрос (не создавая нового запроса) поле [Пол]. Установите группировку по этому полю. Проверьте, что теперь итоги подводятся отдельно для мужчин и женщин каждого отдела.

76

Самостоятельно. Дополнительное задание. Выполнить один из вариантов по согласованию с преподавателем.

Создайте запросы, в которых вычисляются следующие величины:

1.ФОТ по должностям.

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

3.Количество мужчин призывного возраста по должностям.

4.Количество сотрудников пенсионного возраста работающих в каждом отделе.

5.*Количество сотрудников в каждом отделе во всех возрастных интервалах от 10 до 90 лет (10–20; 20–30; … и т.д.). Для этого используйте в запросе следующее выражение: Int([Возраст]/10)*10. Оно означает, что в каждом расчетном числе прожитых лет после деления на 10 мы отбрасываем дробную часть функции перевода числа в целое значение Int(число), а затем вновь умножаем. После этой операции реальный возраст приводится к нижнему десятку. Например, Иванову 44 года. После деления получим 4,4. После округления – 4, а после умножения – 40. Теперь достаточно для этого поля установить (с помощью контекстного меню) в строке Групповые операции значение «Группировка» и мы получим деление сотрудников по диапазонам возрастов.

* Задача повышенной сложности

77

Задача «Налог»

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

СТАВКИ ТРАНСПОРТНОГО НАЛОГА

на территории Ленинградской области для физических и юридических лиц, введенные с 01.01.2003 г. (в соответствии с законом Ленинградской области от 22.11.2002 г., № 51-оз).

Наименование объекта налогообложения

Автомобили легковые с мощностью двигателя (с каждой лошадиной силы):

Налоговая ставка (в рублях)

до 100 л.с. (до 73,55 кВт) включительно

 

10,00

 

 

 

 

 

 

 

 

 

 

 

 

свыше 100

до 150

л.с. (свыше 73,55

до 110,33

кВт) включительно

20,00

 

 

 

 

 

свыше 150

до 200

л.с. (свыше 110,33 до 147,1

кВт) включительно

40,00

 

 

 

 

 

свыше 200

до 250

л.с. (свыше 147,1

до 183,9 кВт) включительно

62,00

 

 

 

 

 

свыше 250

л.с. (свыше 183,9 кВт)

 

 

65,00

78

1.

Контрольные вопросы:

Для чего используются запросы?

2.

Какие существуют механизмы в СУБД для создания запросов?

3.

Как можно задать условие отбора в запросе?

4.

Как обеспечить выполнение двух условий для одного поля?

5.

Как обеспечить выполнение хотя бы одного условия из двух для разных полей?

6.

Как добавить таблицу для использования в запросе?

7.

Для чего используются групповые операции?

8.

Как добавить вычисляемое поле в запрос?

9.

Для чего используются перекрестные запросы?

10.

Что представляет собой язык SQL?

11.

Как рассчитать в запросе возраст по данным поля [Дата рождения]?

12.

Как найти записи, начинающиеся с определенной буквы?

13.

Зачем в запросе есть механизм сортировки записей?

14.

Что позволяют получить итоговые запросы?

15.

Какие групповые операции возможны в запросе?

16.

Как работают запросы на объединение?

79

Упр. 11. Отчеты с итогами

Создайте с помощью МАСТЕРА отчет с итогами.

Порядок выполнения задания

1.Выбираем все поля из запроса «Кадры с вычислениями».

2.Добавим уровни группировки вначале по отделам.

3.Порядок сортировки выберем один – по возрастанию значений поля [Фамилия], т.е. в алфавитном порядке.

4.Откроем Итоги и укажем расчет: суммы по [Оклад] и среднего значения по [Возраст].

5.Вид отчета лучше выбрать с выравниванием по левому краю, а ориентацию листа отчета альбомную т.к. в отчете много полей.

6.Имя отчета «ФОТ Сотрудников по отделам». Просмотрите полученный отчет.

7.Откройте отчет в КОНСТРУКТОРЕ и поправьте поля, которые не полностью умещаются на листе отчета, и отредактируйте рамки этих полей и надписи к ним.

80