Поле |
Таблица |
Вывод на экран |
Условие отбора |
КодПлана |
План |
Да |
|
Сессия |
ПланСессия |
Да |
|
КодОтделения |
План |
Нет |
[Forms]![Главная]![КодОтделения] |
КодСпециальности |
План |
Нет |
[Forms]![Дисциплины]![КодСпециальности] |
КодПолугодия |
Семестры |
Нет |
[Forms]![Дисциплины]![КодПолугодия] |
Курс |
Семестры |
Нет |
[Forms]![Главная]![Курс] |
Запрос предназначен для формирования перечня дисциплин, включённых в план выбранной группы в выбранном полугодии.
На базе таблиц План, Семестры и Дисциплины создайте запрос ПланГруппы, содержащий поле КодПлана. В запросе должен быть отображены только дисциплины, включённые в план выбранной группы ([Forms] ! [Дисциплины] ! [КодГруппы]) в выбранном полугодии ([Forms] ! [Дисциплины] ! [КодПолугодия]).
Поле |
Таблица |
Вывод на экран |
Условие отбора |
КодПлана |
План |
Да |
|
КодГруппы |
Дисциплины |
Нет |
[Forms]![Дисциплины]![КодОтделения] |
КодПолугодия |
План |
Нет |
[Forms]![Дисциплины]![КодПолугодия] |
Запрос предназначен для формирования списка дисциплин, включённых в план выбранной специальности, но отсутствующих в плане выбранной группы.
На базе запросов ПланСеместра и ПланГруппы создайте запрос ПланОтсут, содержащий поле КодПлана и Сессия. В запросе должны быть отображены только дисциплины, включённые в план выбранной специальности, но отсутствующих в плане выбранной группы. Для создания запроса целесообразно в диалоговом окне Новый запрос выбрать мастер Записи без подчинённых.
Поле |
Таблица |
Вывод на экран |
Условие отбора |
КодПлана |
ПланСеместра |
Да |
|
Сессия |
ПланСеместра |
Да |
|
КодПлана |
ПланГруппы |
Нет |
Is Null |
Запрос предназначен для добавления дисциплин, включённых в план выбранной специальности, но отсутствующих в плане выбранной группы.
На базе запроса таблиц ПланОтсут создайте запрос ПланДобавление, добавляющий в план группы отсутствующие дисциплины. В запросе должны быть отображены только дисциплины, включённые в план выбранной специальности, но отсутствующих в плане выбранной группы.
Поле |
Добавление |
КодПлана |
КодПлана |
Сессия |
ДатаКонтроля |
КодГруппы: [Forms]![Дисциплины]![КодГруппы] |
КодГруппы |
Private Sub ОбновлениеГруппы()
Me.КодГруппы.Requery
Me.КодГруппы = DLookup("[КодГруппы]", "ИерархияГруппы")
Forms.Главная.КодГруппы = Me.КодГруппы
End Sub
Private Sub ОпределениеКурса()
Dim Критерий As String
Критерий = "КодГруппы=Forms!Главная!КодГруппы"
Forms.Главная.Курс = DLookup("[Курс]", "Группы", Критерий)
Forms.Главная.КодОтделения = DLookup("[КодОтделения]", "Группы", Критерий)
End Sub
Private Sub ОпределениеПределовДатыКонтроля()
On Error Resume Next
Dim Критерий As String
Dim Дата As Date
Критерий = "КодГода=Forms!Главная!КодГода"
Дата = DLookup("[Начало]", "УчебныйГод", Критерий)
Me.Список.Form.ДатаКонтроля.MinDate = Дата
End Sub
Private Sub Form_Load()
ОпределениеКурса
ОпределениеПределовДатыКонтроля
End Sub
Private Sub КодГода_Change()
Forms.Главная.КодГода = Me.КодГода
ОбновлениеГруппы
ОпределениеКурса
ОпределениеПределовДатыКонтроля
End Sub
Private Sub КодПолугодия_Change()
Forms.Главная.КодПолугодия = Me.КодПолугодия
End Sub
Private Sub КодСпециальности_Change()
Forms.Главная.КодСпециальности = Me.КодСпециальности
ОбновлениеГруппы
ОпределениеКурса
End Sub
Private Sub КодГруппы_Change()
Forms.Главная.КодГруппы = Me.КодГруппы
ОпределениеКурса
End Sub
Private Sub КнопкаДобавитьДисциплины_Click()
DoCmd.SetWarnings False
DoCmd.OpenQuery "ПланДобавление"
DoCmd.SetWarnings True
Me.Список.Requery
End Sub
Private Sub КнопкаПлан_Click()
DoCmd.Close
DoCmd.OpenForm "План"
End Sub
Private Sub КнопкаОценки_Click()
DoCmd.Close
DoCmd.OpenForm "Оценки"
End Sub
Private Sub КнопкаЗакрыть_Click()
DoCmd.Close
End Sub
Private Sub Form_Unload(Cancel As Integer)
DoCmd.SetWarnings False
DoCmd.OpenQuery "ДипломСоздать"
DoCmd.SetWarnings True
End Sub
Модуль формы ДисциплиныГруппы содержит команды проверки даты экзамена или зачёта и открытия формы Преподаватели.
Private Sub ДатаКонтроля_Change()
Dim Критерий As String
Dim Дата As Date
КодПреподавателя.SetFocus
Критерий = "КодГода=Forms!Главная!КодГода"
Дата = DLookup("[Конец]", "УчебныйГод", Критерий)
While ДатаКонтроля > Дата
ДатаКонтроля = DateAdd("yyyy", -1, ДатаКонтроля)
Wend
End Sub
Private Sub КнопкаПреподаватели_Click()
DoCmd.OpenForm "Преподаватели"
End Sub
1. Создание иерархических списков.
2. Обновление данных.
3. Вычисления в форме.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.