Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по лр для МК и МН.doc
Скачиваний:
37
Добавлен:
16.02.2016
Размер:
563.71 Кб
Скачать

Порядок виконання роботи

1. Відкрийте базу даних бібліотека.mdb.

2. Щоб створити програми, перейдіть на вкладку Модули і натисніть на кнопку Создать. Відкриється вікно коду, у якому можна ввести тексти процедур і функцій користувача.

Створіть три програмні модулі командою меню Вставка|Модуль (Insert|Module) чи у вікні проекту (Project, викликається за CTRL+R), натисніть правою кнопкою миші на папці Модули (Modules) і виберіть пункт меню Вставка|Модуль (Insert|Module).

За допомогою вікна Вид|Окно проекту (View|Project Explorer чи CTRL+R) перевірте наявність у проекті створених модулів (вікно Module1, Module2, Module3).

Приклад 1. Використовуючи методи руху за записами і операторами циклу, обчислити загальну кількість книг у таблиці Книги і кількість книг, які видані після 2003 року.

У вікні Module1 введіть код (після одинарних лапок іде коментар, його можна не набирати):

Sub Кількість()

Dim rstBooks As Recordset, k As Integer, k2003 As Integer 'повідомлення змінних

Set rstBooks = CurrentDb.OpenRecordset("Книги", dbOpenDynaset) 'створення посилання на таблицю Книги

k=0 'змінна-лічильник усіх книг у бібліотеці

k2003=0 'змінна-лічильник книг, які видані після 2003 року

rstBooks.MoveFirst 'перехід на перший запис у таблиці Книги

Do Until rstBooks.EOF 'цикл за записами таблиці

k=k+1

If rstBooks![Рік] > 2003 Then k2003 = k2003 + 1 'якщо рік поточної книги більш ніж 2003, то +1

rstBooks.MoveNext 'перехід до наступного запису

Loop 'закінчення циклу

Msgbox “Всього книг - ” & k & “ з них після 2003 року - ” & k2003

End Sub

Приклад 2. Знайти у таблиці Книги книгу автора Біла Н.І.

У вікні Module2 уведіть код (після одинарних лапок іде коментар, його можна не набирати):

Sub Пошук()

Dim rstBooks As Recordset 'повідомлення змінної типу Recordset

Set rstBooks = CurrentDb.OpenRecordset("Книги", dbOpenDynaset) 'створення посилання на таблицю Книги

rstBooks.FindFirst "[Автор]='Біла Н.І.'" 'пошук запису за полем [Автор]

If rstBooks.NoMatch = False Then 'якщо запис знайдений, то

MsgBox "Назва книги:" & rstBooks![Назва] 'вивести повідомлення з назвою книги,

Else 'інакше вивести повідомлення

MsgBox "Книг такого автора в бібліотеці немає" 'про відсутність такого автора

End If

End Sub

Приклад 3. За допомогою властивостей Filter об’єкта Recordset знайти загальну кількість читачів у бібліотеці й кількість читачів з кафедри фізики.

У вікні Module3 увести код (після одинарних лапок іде коментар, його можна не набирати):

Sub Фільтр()

Dim зап As Recordset, колзап As Integer 'повідомлення змінних

Set зап = CurrentDb.OpenRecordset("Читачі", dbOpenDynaset) 'створення посилання на таблицю Читачі

зап. 'перехід на останній запис таблиці

колзап = зап.RecordCount 'підрахування загальної кількості записів таблиці

MsgBox "Всього читачів в бібліотеці - " & Str(колзап)

зап.Filter = "[Кафедра]='Физика'" 'створення посилання тільки на ті поля таблиці Читачі, які

Set зап = зап.OpenRecordset() 'відповідають читачам кафедри фізики

If зап.RecordCount > 0 Then 'чи існують читачі з кафедри фізики? Якщо так, то

зап.MoveLast 'перехід на останній запис відібраної множини читачів

колзап = зап.RecordCount 'підрахування кількості записів читачів з кафедри фізики

MsgBox "Читачів з кафедри Фізика - " & Str(колзап)

Else 'інакше, якщо читачів з кафедри фізики немає, вивести повідомлення

MsgBox "Немає читачів кафедри Фізика"

End If

End Sub

3. Послідовно виділіть три модулі й запустить їх на виконання командою F5 чи в меню Запуск (Run|Run Sub/User Form).