Создание форм, элементов управления, изменения свойств объектов (Лабораторная работа № 4), страница 4

'процедура обработки события щелчка на кнопке Закрыть

Private Sub КнопкаЗакрыть_Click()

DoCmd.Close            'закрытие текущей формы

End Sub

'процедура обработки события выгрузки текущей формы

Private Sub Form_Unload(Cancel As Integer)

On Error Resume Next      'при возникновении ошибки передаёт управление на следующую строку

'обновление поля КодГода на всех формах, в которых оно присутствует

'если форма не загружена, переходит к следующей форме

Forms.Группы.КодГода.Requery

Forms.Анкета.КодГода.Requery

Forms.Состав.КодГода.Requery

Forms.Перевод.КодГода.Requery

End Sub

Модуль “функции”

Для создания модуля необходимо в окне базы данных открыть Модули и нажать кнопку Создать. Модуль Функции содержит функции и процедуры, которые используются многократно в разных формах.

Option Compare Database

Option Explicit

'функция возвращает код первой группы выбранного учебного года выбранной специальности

Public Function ПерваяГруппа()

ПерваяГруппа = DLookup("[КодГруппы]", "ИерархияГруппы")

End Function

Форма “Факультеты”

Форма Факультеты предназначена для отображения существующих и ввода новых факультетов, существующих в учебном заведении. Форму можно открыть из форм Главная и Специальности.

Создайте ленточную форму, основанную на таблице Факультеты.

Модуль формы

Модуль формы Факультеты содержит команды передачи кода выбранного факультета в главную форму и обновления списка КодФакультета в форме Специальности при закрытии формы.

Option Compare Database

Option Explicit

'процедура обработки события перехода на другую запись

Private Sub Form_Current()

'передаёт значение кода факультета с текущей формы в Главную

Forms!Главная!КодФакультета = Me.КодФакультета

End Sub

'процедура обработки события щелчка на кнопке Закрыть

Private Sub КнопкаЗакрыть_Click()

DoCmd.Close            'закрытие текущей формы

End Sub

'процедура обработки события выгрузки текущей формы

Private Sub Form_Unload(Cancel As Integer)

On Error Resume Next      'при возникновении ошибки передаёт управление на следующую строку

'обновление поля КодФакультета в форме Специальности

'если форма не загружена, выходит из процедуры

Forms.Специальности.КодФакультета.Requery

End Sub

Форма “Отделения”

Форма Отделения предназначена для отображения существующих и ввода новых отделений. Форму можно открыть из форм Группы и План.

Создайте ленточную форму, основанную на таблице Отделения.

Модуль формы

Модуль формы Отделения содержит команды закрытия текущей формы и обновления поля КодОтделения в форме Группы.

Option Compare Database

Option Explicit

'процедура обработки события щелчка на кнопке Закрыть

Private Sub КнопкаЗакрыть_Click()

DoCmd.Close            'закрытие текущей формы

End Sub

'процедура обработки события выгрузки текущей формы

Private Sub Form_Unload(Cancel As Integer)

On Error Resume Next      'при возникновении ошибки передаёт управление на следующую строку

Forms.Группы.КодГруппы.Requery

Forms.План.КодГруппы.Requery

End Sub

Форма “Должности”

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

Создайте ленточную форму, основанную на таблице Должности.

Модуль формы

Модуль формы Должности содержит команды закрытия текущей формы и обновления поля КодДолжности в форме Преподаватели.

Option Compare Database

Option Explicit

'процедура обработки события щелчка на кнопке Закрыть

Private Sub КнопкаЗакрыть_Click()

DoCmd.Close            'закрытие текущей формы

End Sub

'процедура обработки события выгрузки текущей формы

Private Sub Form_Unload(Cancel As Integer)

On Error Resume Next      'при возникновении ошибки передаёт управление на следующую строку