Інформація щодо викладачів (Прізвище, посада, наукове звання, предмет, група, вид занять, вид контролю). Потрібну інформацію не містить жодна окрема таблиця бази даних, але її можна одержати з трьох таблиць Табл_План, Табл_Предмет, які зв’язані по полю Код_Предмет, і Табл_Викладач, яка зв’язана з Табл_Предмет по полю Номер_Викладач(рис.51).
Запит_Викладач_Предмет
SELECT Табл_Викладач.ПІБ_Викладач, Табл_Викладач.Посада, Табл_Викладач.Звання, Табл_Предмет.Назва_Предмет, Табл_План.Номер_Група, Табл_Предмет.Вид_Занять, Табл_Предмет.Вид_Контролю
FROM (Табл_Викладач INNER JOIN Табл_Предмет ON Табл_Викладач.Номер_Викладач = Табл_Предмет.Номер_Викладач) INNER JOIN Табл_План ON Табл_Предмет.Код_предмет = Табл_План.Код_Предмет;
Табл_Предмет
Код_Предмет
Номер_Викладач
Назва_Предмет
Вид_Занять
Вид_Контролю
Табл_Викладач
Номер_Викладач
ПІБ_Викладач
Код_Кафедра
Посада
Звання
Табл_План
Номер_Група
Код_Предмет
Рисунок 51
Спочатку необхідно створити запит Запит_Викладач_Предметі у відповідності до нього форму Форм_Викладач_Предмет (рис.52).
Рисунок 52
Наступною створено форму Форм_Вибір_Викладач (рис. 53) зі списком. До списку приєднано код на VBA, який дозволяє обирати прізвище викладача і після підтвердження у діалозі (рис. 54) виводити список предметів які він викладає, на форму Форм_Викладач_Предмет (рис. 52). Оскільки ця форма призначена для перегляду інформації, то всі її поля заблоковані для редагування.
Рисунок 53
Рисунок 54
Для відображення списку груп на Форм_Вибір_Викладач до нього приєднано код на VBA.
Код на VBA до списку на формі Форм_Вибір_Викладач.
Private Sub Список2_AfterUpdate()
Dim Otvet As String
Otvet = MsgBox("Вас цікавлять викладач " & Me![Список2] & " ?", vbOKCancel)
If Otvet = vbCansel Then
Exit Sub
End If
DoCmd.OpenForm "Форм_Викладач_Предмет", , , "Табл_Викладач!ПІБ_Викладач=Forms!Форм_Вибір_Викладач![Список2]"
Exit Sub
End Sub