Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
инфа / Инфа / Лаба 10.doc
Скачиваний:
32
Добавлен:
31.03.2015
Размер:
280.06 Кб
Скачать

Ход работы.

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

Фамилия

Имя

Номер зачетки

Химия

Физика

………..

Иванов

Иван

21401

5

4

………...

Петров

Петр

21405

3

5

…………

На вкладке «Создание» выбираем «Конструктор запросов»  добавляем двойным щелчком следующие таблицы: «Студенты», «Предметы», «Итоги сессии»  на вкладке тип запроса выбираем «перекрестный», двойным щелчком по имени соответствующего поля, добавляем необходимые поля в запрос: «Фамилия», «Имя», «Отчество», «Номер зачетки», «Предмет», «Оценка»  в поле «Перекрестная таблица» для полей «Фамилия», «Имя», «Отчество», «Номер зачетки» выбираем «Заголовки строк», для поля «Предмет» - «Заголовки столбцов», для поля «Оценка» - «Значение»  в поле «Групповая операция» везде, кроме поля «Оценка» выставляем «Группировка», для поля «Оценка» выбираем «Sum»  Файл  Сохранить  вводим имя запроса.

  1. На основе созданного перекрестного запроса разработать запрос, обеспечивающий возможность в автоматизированном виде создавать ведомости на начисление стипендии. При этом считать: стипендия назначается студентам, получившим на экзаменах только «хорошо» и «отлично»; если оценок «хорошо» получено больше одной, то назначается стипендия в размере 100%; если получена одна оценка «хорошо» и остальные «отлично» - 150%; если все оценки «отлично» - 200%. Результаты запроса должны быть представлены в следующей ведомости.

Фамилия

Имя

Номер зачетки

Процент стипендии

Иванов

Иван

21401

100

Создаем запрос как в п.1, но без полей «Отчество», «Предмет» и «Оценка»  на вкладке «тип запроса» выбираем «выборка»  в свободном поле «Поле» пишем «Процент стипендии: IIf(Min([Оценка])>3;(IIf(Avg([Оценка])=5;"200%";(IIf(Avg([Оценка]=4.875));"150%";”100%”))); "Стипнедия не назначается")»  файл  сохранить вводим имя запроса «Стипендия»

  1. Предусмотреть в структуре базы данных и отразить в запросах возможность наличия пересдач при назначении стипендии: если хотя бы одна пересдача была – стипендия не назначается.

В таблице «Итоги сессии» создадим поле «Количество пересдач» числового типа, изменим запрос «Стипендия» В вычисляемом поле изменим формулу на «Процент стипендии: IIf(Min([Оценка])>3and(Sum[Количество пересдач]=0); (IIf(Avg([Оценка])=5;"200%";(IIf(Avg([Оценка]=4.875));"150%";”100%”))); "Стипнедия не назначается")»  файл  сохранить вводим имя запроса «Стипендия»

  1. Разработать отчет по итогам сдачи сессии студентами определенной группы с использованием Конструктора и Мастера.

На вкладке «Создание» выбираем «Мастер отчетов» выбираем таблицу «Студенты», добавляем поля «Фамилия», «Имя», «Отчество», выбираем таблицу «Итоги сессии» добавляем поля: «Код семестра», «Код предмета", "Оценка"  Готово.

На вкладке «Создание» выбираем «Конструктор отчетов» добавляем в рабочую обл. те же поля, что и при создании в мастере  файл  сохранить  вводим имя отчета.

  1. Разработать отчет о размере назначаемой стипендии студентам определенной группы.

Создадим запрос на основе таблицы «Студенты» и запроса «Стипендия», добавим в него следующие поля: «Фамилия», «Имя», «Отчество», «Код группы», «Процент стипендии», затем на основе этого запроса создадим в мастере отчет.

  1. Для формы студенты с использованием макроса создать фильтр для просмотра студентов определенной группы.

На вкладке «Создание» выбираем «Макрос»  в поле «Макрокоманда» выбираем «ПрименитьФильтр», в условие отбора пишем «[Студенты Запрос].[Код группы]=1».

  1. Для формы «Студенты» создать макрос для отмены фильтрации п.6.

На вкладке «Создание» выбираем «Макрос»  в поле «Макрокоманда» выбираем «ПоказатьВсеЗаписи».

  1. В режиме конструктора сгруппировать элементы фильтрации.

Открываем в режиме конструктора запрос по которому построена соответствующая форма к которой применяется фильтр, в поле «Фамилия» в строке «Сортировка» выставляем «по возрастанию».

  1. Создать форму, используя в качестве источника данных перекрестный запрос по результатам сдачи сессии студентами факультета.

Открываем нужный запрос на вкладке «Создание» выбираем «Форма»  файл  сохранить  вводим имя запроса.

  1. В полученную в п.9 форму добавить макросы по фильтрации данных по группам.

Открываем нужную форму в режиме конструктора  правой кнопкой мыши в любом месте рабочего поля конструктора  свойства  в окне свойств переходим на вкладку "События", в поле «Загрузка» выбираем «Макросы»Создаем макрос как в п.6  файл  сохранить

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

На вкладке «Создание» выбираем «Конструктор форм»  в созданную форму добавляем необходимое количество кнопок  правой кнопкой мыши на каждой из кнопок  свойства  в окне свойств переходим на вкладку «События», в поле «нажатие кнопки» выбираем «Макросы»  в поле «макрокоманды» выбираем (отдельно для каждой кнопки) «ОткрытьФорму», в поле «Имя формы» выбираем необходимую форму, «ОткрытьОтчет», в поле «Имя отчета» выбираем необходимый отчет, «ЗакрытьБазуДанных».

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

Соседние файлы в папке Инфа