Создание таблиц, форм, запросов. Использование модулей, страница 7

          Внимание !!! При программировании необходимо ставить имена своих объектов. Используйте Справку Access, для чего выделите интересующее Вас свойство и нажмите клавишу F1.

1. В форме Классы_Список создать две пустые кнопки (после вызова мастера нажать кнопку "отмена"). Открыть свойства первой кнопки. В свойствах Подпись и Имя поставить - ФИО1 (полужирный, красный). Для второй кнопки установите, соответственно, ФИО2 (полужирный, синий). В свойстве кнопки ФИО1 Нажатие кнопки (События) вызвать модуль формы (нажать на кнопку с тремя точками и пункт Программа). Набрать текст программы

Private Sub ФИО1_Click()

[ФИО2].Visible=True

[ФИО2].SetFocus

[ФИО1].Visible=False

End Sub

Выбрать кнопку ФИО2 (см. список Объект вверху) и скопировать туда первую программу, заменив ФИО2 на ФИО1 и наоборот. Для события Открытие формы (свойство формы) создать процедуру

Private Sub Form_Open(Cancel As Integer)

[ФИО2].Visible = False

End Sub

2. Создать пустую кнопку. Задать ей Имя и Подпись - Цвет. Записать процедуру на событие Нажатие кнопки:

Private Static Sub Цвет_Click()

Dim ICv As Long

Dim cv1, cv2, cv3 As Integer

cv1 = Int((254 * Rnd) + 1)

cv2 = Int((254 * Rnd) + 1)

cv3 = Int((254 * Rnd) + 1)

ICv = RGB(cv1, cv2, cv3)

Forms![Классы_Список]!Заголовок.ForeColor = ICv

Forms![Классы_Список]!Школа.BackColor = ICv

Forms![Классы_Список]!Шифр.BackColor = Icv

End Sub

3.   Создать кнопку Колич, при нажатии на которую выводится количество учеников в текущем классе:

Private Sub Колич_Click()

Dim FIOdb As DATABASE

Dim FIOrec As Recordset

Dim s, s1 As Variant

Set FIOdb = CurrentDb()

Set FIOrec = FIOdb.OpenRecordset("Классы_Кол", dbOpenDynaset)

FIOrec.FindFirst "[Код_К] = " & CStr(Forms![Классы_Список]![Код_К])

s = FIOrec![Кол]

s1 = FIOrec![Школа]

MsgBox ("Количество учеников в " & Forms![Классы_Список]![Шифр] & " классе " & s1 & " школы - " & CStr(s))

FIOrec.Close

FIOdb.Close

End Sub

В процедуре Классы_Кол - это запрос, в котором вычисляется количество учеников в каждом классе (поле Кол, Код_К - это поле Код_Класса, Шифр - Имя_Класса.

4. Создать поле Кол, в котором при переходе к новому классу будет выводится количество учеников данного классе: Для этого необходимо создать функцию в Общей области, Для чего, находясь в конструкторе, нажмите кнопку Программы на панели инструментов и после строк

Option Compare Database

Option Explicit

введите имя функции Public Function CountKol(). При этом автоматически будет создана процедура, которую необходимо записать следующий текст:

Public Function CountKol()

Dim FIOdb As DATABASE

Dim FIOrec As Recordset

Set FIOdb = CurrentDb()

Set FIOrec = FIOdb.OpenRecordset("Классы_Кол", dbOpenDynaset)

FIOrec.FindFirst "[Код_К] = " & CStr(Forms![Классы_Список]![Код_К])

CountKol = FIOrec![Кол]

FIOrec.Close

FIOdb.Close

End Function

В поле Кол формы в свойство Данные ввести строку - = CountKol(). Создайте надпись для поля Кол - "Количество учеников в классе - ").

5. Изменить программу для кнопок ФИО1 и ФИО2 так, чтобы при нажатии кнопки ФИО1 появлялась кнопка ФИО2 со случайно выбранным цветом текста. Аналогично сделать для кнопки ФИО2 (см. п. 2).

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

- количество девушек;

- количество юношей;

- количество персональных компьютеров;

- фамилию и день рождения самого младшего ученика в классе.

Написать соответствующую процедуру.

7. Создать форму "Статистика по школам" и написать процедуры для просмотра следующей информации:

- количество учеников в школе;

- количество девушек;

- количество юношей;

- количество персональных компьютеров.