- •Лабораторна робота № 1 Тема. Вступ до microsoft access. Створення бази даних (бд), створення таблиць, заповнення таблиць інформацією
- •Короткі теоретичні відомості
- •Порядок виконання роботи
- •Зміст звіту
- •Порядок виконання роботи
- •1 Сортування даних
- •2 Створення зв’язків між таблицями
- •3 Запит, який відбирає дані з однієї таблиці за умовою
- •4 Підсумковий запит
- •5 Перехресний запит
- •6 Вибірка даних з декількох таблиць
- •7 Створення підсумкового багатотабличного запиту
- •8 Запити, які змінюють дані (значення групи записів)
- •9 Запит на створення нових таблиць
- •10 Створення запитів на видалення даних
- •Зміст звіту
- •Порядок виконання роботи
- •1 Створення форм для перегляду та введення табличних даних
- •2 Створення форм з підпорядкованою формою
- •Зміст звіту
- •Порядок виконання роботи
- •Зміст звіту
- •Порядок виконання роботи
- •MsgBox "Книг такого автора в бібліотеці немає" 'про відсутність такого автора
- •Зміст звіту
- •Контрольні питання
- •Список літератури
Порядок виконання роботи
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).