Работа с базами данных в Access (БД)

Предметная область «Друзья и знакомые».

Постановка задачи: Создать базу данных, в которой будет храниться информация о друзьях и знакомых, разработать систему управления БД.

Базу данных FRIENDS.MDB сформируем из двух таблиц PERSON и COMPANY.

 

Структура записи таблицы PERSON (атрибуты):

Name — имя, HomePhone — домашний телефон,
Fam — фамилия, Id_work — идентификатор места работы/учебы,
Year – дата рождения, Email — адрес электронной почты,
Adres — домашний адрес, Note — примечание

 

Структура записи таблицы COMPANY (атрибуты):

Id_work — уникальный идентификатор места работы/учебы, W_Phone2 — рабочий телефон 2,
Office — название места работы/учебы, Email — адрес электронной почты,
Adres_О — адрес места работы/учебы, Note — примечание.
W_Phone1 — рабочий телефон 1,

 


СХЕМА РАБОТЫ ПРИЛОЖЕНИЯ

1.      Главная форма приложения

jobdb-1

‘Тело процедуры опции Выход

Unload Me

 

2. Действия с таблицей Person

jobdb-2

 

3. Просмотр содержимого таблицы Person

jobdb-3

 

4. Редактирование таблицы Person

jobdb-4

‘Тело процедуры  Пополнить

Form2.Data1.Recordset.AddNew

 

‘Тело процедуры  Удалить

Form2.Data1.Recordset.Delete

 

‘Тело процедуры  Сохранить изменения

Form2.Data1.UpdateRecord

 

5. Работа с таблицей Company осуществляются аналогично работе с таблицей Person

jobdb-5

 

6. Отбор данных

jobdb-6

 

Отбор данных из Person

1). Поиск по фамилии

Используем  метод Seek, перед использованием метода Seek необходимо

—   в соответствующей таблице определить текущий индекс, используя метод Index;

— в окне свойств объекта Data1 изменить тип набора записей на table (свойство Data1.RecordsetType сделать равным 0-table)

jobdb-7

Процедура кнопки Ввод фамилии

Dim pro1 As String

Dim SearchStr As String

pro1 = «Введите фамилию»

‘получение образца для поиска в поле Fam

SearchStr = InputBox(pro1, «Поиск по фамилии»)

Data1.Recordset.Index = «Fam»            ‘ Используем индекс fam

Data1.Recordset.Seek «=», SearchStr ‘Ищем, при удаче переходим на найденную запись

If Data1.Recordset.NoMatch Then      ‘ Если не найдено

Data1.Recordset.MoveFirst             ‘ Переходим на первую запись

End If

 

2). Просмотр всей таблицы

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

jobdb-8

.

Data1.DatabaseName = App.Path + «\friends.mdb»

Data1.RecordSource = «Person»

Data1.Refresh

Do Until Data1.Recordset.EOF

Entry = Data1.Recordset(«Name») + »  » + Data1.Recordset(«Fam»)

List1.AddItem Entry

Entry = Data1.Recordset(«Year»)

List2.AddItem Entry

Data1.Recordset.MoveNext

Loop

 

7. Отбор данных из таблицы Company осуществляются аналогично отбору из таблицы Person

 

8. Общий отбор.

Для совместного отображения содержимого таблиц Person и Company в окне свойств объекта Data1 определите свойство RecordSource, как следующий SQL-запрос:

SELECT * FROM Person , Company WHERE Person.Id_fre = Company.Id_work

где Id_fre — индексное поле в таблице Person, а Id_work — индексное поле в таблице Company.

jobdb-9

 

 

comments powered by HyperComments