Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мет_указ_базы данных.doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
8.22 Mб
Скачать

1.8.Создание главной формы для автоматизированной системы «Учебный процесс» Функциональные возможности системы

Создаваемый проект должен поддерживать следующие функции:

  • просмотр пользователем перечня групп каждого факультета

  • просмотр списка групп каждого факультета по курсам;

  • выбор группы;

  • просмотр связанной с группой информации (списка групп, оценок, сдаваемых дисциплин и пр.);

  • настройка данных на следующий семестр;

  • унифицированный поиск информации;

  • распечатка ведомостей;

  • внесение экзаменационных оценок;

  • выдача направлений на пересдачу.

Проектирование и реализация системы

В заголовке формы F_Stud_Main размещены:

    • поле со списком nf, с помощью которого выбирается нужный факультет;

    • поле nk, в которое можно занести номер курса;

    • подчиненная форма F_p_grup, в которой отображаются группы выбранного факультета и курса.

Рис. 12. Главная форма автоматизированной системы «Учебный процесс»

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

    • подчиненная форма F_p_stud, в которой отображается список выбранной группы (рис.12);

    • подчиненная форма F_p_mark, в которой отображаются оценки студентов за текущую сессию в виде перекрестного запроса;

Рис. 13. Закладка «Оценки» главной формы автоматизированной системы «Учебный процесс»

    • подчиненная форма F_p_dis, в которой отображается список дисциплин, изучаемых группой в каждом семестре;

Рис. 14. Закладка «Предметы» главной формы

    • подчиненная форма F_p_itog1, в которой отображается количество отличников, хорошистов, троечников и двоечников за текущую сессию;

Рис. 15. Закладка «Итоги» главной формы

    • подчиненная форма F_p_work_plan, в которой отображается информация об экзаменах в текущем семестре, через эту форму можно занести оценки студентов, а также напечатать ведомости по каждому предмету;

Рис. 16. Закладка «Экзамены» главной формы

Перед созданием главной формы, необходимо:

1.Реализовать следующие запросы:

    • запрос Z_mark_grup на создание таблицы Work, в которую отбираются названия предметов и оценки студентов, учащихся в заданной группе:

Рис. 17 Запрос, для отбора фамилий студентов, предметов и оценок

    • перекрестный запрос z_per_mark на основе таблицы Work:

Рис. 18 Перекрестный запрос

2. Создать все подчиненные формы (некоторые формы уже в базе данных есть, можно их использовать, скорректировав источник записей, как показано в таблице 1).

Определим свойства используемых в подчиненных формах объектов, а также события, связанные с ними (таблица 1):

Таблица 1

Объект

Свойства объекта

Подчиненная форма F_p_grup (имя, объект-источник) – задается при вставке в главную форму компонента Подчиненная форма/отчет

Форма F_p_grup

Источник записей: SELECT grup.name_grup, grup.num_dep, grup.num_grup, kurs.num_kurs, InStr([grup].[name_grup],[kurs].[ind_in_grup]) AS w_r FROM grup, kurs

WHERE (((grup.num_dep)=[nf]) AND ((kurs.num_kurs) Like [nk] & "*") AND ((InStr([grup].[name_grup],[kurs].[ind_in_grup]))=2)); использовать запрос z_kurs_stud

Режим по умолчанию: Ленточная форма

Полосы прокрутки: Отсутствуют

Область выделения: Да

Кнопки перехода: Нет

События:

Текущая запись: =Req_Form ()

Функция выполняет следующие действия:

    • Обновляет все подчиненные формы, расположенные на закладках в главной форме

2. Для формы f_p_mark:

    • удаляется источник записей формы;

    • формирует запросом на создание вспомогательной таблицы Work, в которую включаются оценки студентов выбранной группы;

- подставляться источник записей формы: перекрестный запрос z_per_mark.

Поле name_grup

Данные: name_grup

Подчиненная форма F_p_mark (Имя: F_p_mark Объект-источник: Запрос.per_mark)

Подчиненная форма F_p_stud (имя, объект-источник)

Форма F_p_Stud

Источник записей: SELECT stud.name_stud, grup.name_grup FROM grup INNER JOIN stud ON grup.num_grup = stud.num_grup WHERE (((grup.name_grup)=[Forms]![F_stud_main]![F_p_grup]![name_grup])) ORDER BY stud.name_stud;

Режим по умолчанию: Таблица

Поле name_stud

Имя: Фамилия И.О. Данные: name_grup

Подчиненная форма F_p_dis (имя, объект-источник)

Форма F_p_dis

Источник записей: SELECT grup.name_grup, study_plan.num_sem, study_plan.num_dis FROM grup INNER JOIN study_plan ON grup.num_grup = study_plan.num_grup WHERE (((grup.name_grup)=[Forms]![F_stud_main]![F_p_grup]![name_grup]));

Режим по умолчанию: Таблица

Окончание таблицы 1

Объект

Свойства объекта

Поле num_sem

Имя: Семестр

Данные: num_sem

Поле со списком num_dis

Имя: Предмет

Данные: num_dis

Тип источника строк: таблица/запрос

Источник строк: subject

Число столбцов: 2

Присоединенный столбец: 2

Ширина столбцов: 4см; 0 см

Подчиненная форма F_p_itog1 (имя, объект-источник)

Форма F_p_itog1

Источник записей: использовать запрос, который вычисляет число отличников, хорошистов, троечников и двоечников в группе (Лаб. раб. №3, запрос 4_2_2), включив в него условие отбора для поля name_grup:

[Forms]![F_stud_main]![F_p_grup]![name_grup]

Режим по умолчанию: Таблица

Поле для отображения группы успеваемости

Имя: Группа успеваемости

Данные: имя соответствующего столбца запроса

Поле для вывода количества

Имя: Количество

Данные: имя соответствующего столбца запроса

Подчиненная форма F_p_work_plan (имя, объект-источник)

Форма F_p_work_plan

Источник записей: SELECT work_plan.exam, work_plan.num_grup, work_plan.num_prep, work_plan.num_dis, work_plan.date_exam, grup.name_grup

FROM grup INNER JOIN work_plan ON grup.num_grup = work_plan.num_grup

WHERE (((grup.name_grup)=[Forms]![F_stud_main]![F_p_grup]![name_grup]));

Примечание: перед созданием формы в таблицу Work_plan включить столбец exam логического типа для отметки о печати ведомости.

Режим по умолчанию: Ленточная форма

Поле со списком num_prep

Имя: num_prep

Данные: num_prep

Тип источника строк: таблица/запрос

Источник строк: prep

Число столбцов: 3

Присоединенный столбец: 3

Ширина столбцов: 4см; 0 см; 0 см

Поле

exam

Имя: exam

Данные: exam

События:

После обновления: Запустить отчет «Ведомость»

Поле со списком num_dis

Имя: num_dis

Данные: num_dis

Тип источника строк: таблица/запрос

Источник строк: subject

Число столбцов: 2

Присоединенный столбец: 2

Ширина столбцов: 4см; 0 см

Поле со списком num_grup

(сделать маленьким, чтобы не было видно в окне формы)

Имя: num_grup

Данные: num_dis

Тип источника строк: таблица/запрос

Источник строк: grup

Число столбцов: 3

Присоединенный столбец: 3

Ширина столбцов: 4см; 0 см; 0 см

Поле

Data_exam

Имя: Data_ exam

Данные: Data_exam

Кнопка

«Занести оценки»

Имя: cor_mark

Подпись: Занести оценки

События:

Нажатие кнопки: вызов формы F_study_mark(построить мастером)

Свойства используемых в главной форме объектов, а также события связанные с ними, приведены в таблице 2:

Таблица 2

Форма F_Stud_Main

Форма

F_Stud_Main

Источник записей: dep

Подпись: Автоматизированная система «Учебный процесс»

Режим по умолчанию: Простая форма

Полосы прокрутки: Отсутствуют

Область выделения: Нет

Кнопки перехода: Нет

Поле со списком

nf

Имя: nf

Тип источника строк: таблица/запрос

Источник строк: dep

Число столбцов: 2

Ширина столбцов 3см;0 см

Присоединенный столбец: 2

События:

После обновления:

1. Обновить информацию в форме.

2. Установить фокус в подчиненную форму F_p_grup.

Поле nk

Имя: nk

После создания главной формы можно реализовать на закладке Экзамены вызов формы F_study_val для занесения оценок студентов выбранной. Ее вызов связывается с событием Нажатие кнопки Cor_mark с помощью МАСТЕРА по следующему алгоритму:

    • выбрать компонент Кнопка и растянуть его в нужном месте формы;

    • выбрать нужное действие (Работа с формой, Открыть форму);

    • выбрать название формы для открытия (F_study_mark);

    • установить флажок отбора сведений в форму (Открыть форму для отобранных записей);

    • указать соответствующие поля, которые будут использоваться для отбора (num_grupnum_grup);

    • задать подпись кнопки (Занести оценки);

    • задать имя кнопки (Cor_mark).

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

Private Sub Form_Load()

Me.ng.DefaultValue = Forms!f_stud_main!f_p_work_plan!num_grup

End Sub

В результате в форме отображается информация о выбранной группе. Для того чтобы через форму F_study_val можно было заносить оценки других групп, необходимо удалить фильтр, автоматически созданный для формы. Это можно сделать, включив в форму кнопку «Все группы». С событием Нажатие кнопки связать макрос Del_filtr:

ЗадатьЗначение Элемент: Forms![F_study_val].[Filtr]

Значение: “”

ЗапускМакроса Имя: Goto_Find_n {поиск заданной группы по номеру}