Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методические указания ИПС новая1.doc
Скачиваний:
4
Добавлен:
01.05.2025
Размер:
1.34 Mб
Скачать

Объект Field

Этот объект представляет собой поля конкретной таблицы базы данных. Ссылка на него осуществляется через объект recordset. Важнейшее его свойство Value возвращает данные из конкретного поля таблицы.

Например:

Set ws=DBEngine.Workspaces(0)

Set db=ws.OpendataBase(“C:\S.mdb”)

Set rs =db. OpenRecordset (“Клиенты”)

rs.MoveFirst

rs.Fields(“Возраст).Value- возвращает данные, находящиеся на пересечении первой записи таблицы “Клиенты” и поля “ Возраст”

Порядок работы при объектном доступе к данным (предполагается, что база данных существует):

  • Создать рабочую область или использовать стандартную рабочую область, как показано выше (Объект workspace)

  • Открыть базу данных (объект Database)

  • Создать набор записей (объект Recordset)

  • Непосредственно работать с конкретными записями и полями

Задание 6

Рассмотрим работу с базой данных на примере простого приложения. Для этого в СУБД MS Access предварительно создадим базу данных, и сохраним эту базу данных в файле Example.MDB.

База данных имеет простейшую структуру и состоит из одной таблицы Первый курс, в которой имеется только четыре поля: Фамилия, Группа, Предмет и Оценка.

Рассмотрим действия программы:

  1. При активизации диалогового окна выводит в поля ввода информацию о первом студенте из таблицы.

  2. При нажатии кнопок “>” и “<” происходит перемещение на одну запись вперед и назад, соответственно, а при нажатии кнопок “>>” и “<<” перемещение в конец и в начало таблицы

  3. При нажатии кнопки Закрыть закрывается база данных и диалоговое окно.

Для создания этого приложения сконструируйте форму, на которой разместите 4 надписи, 4 поля ввода, 5 кнопок. Установите значения свойства Name полей ввода равными txtName, txtGroup, txtSubject и txtMark , кнопок - равными cmdFirst, cmdPrevious, cmdNext, cmdLast и cmdClose. В модуле формы наберите следующий код:

'Переменные уровня модуля

Private ws As Workspace

Private db As Database

Private rs As Recordset

Private Sub UserForm_Initialize()

' Создание рабочей области

Set ws = DBEngine.Workspaces(0)

' Открытие базы данных Example.MDB (предположим, что файл расположен в каталоге C:\WINDOWS\Рабочий стол\Example.mdb

Set db = ws.OpenDatabase("C:\WINDOWS\Рабочий стол\Example.mdb")

' Создание записей

Set rs = db.OpenRecordset("Первый курс")

' Вывод первой записи в поля диалогового окна

Showrecord

End Sub

Private Sub Showrecord()

' Вывод записи в поля диалогового окна

With rs

txtName.Text = .Fields("Фамилия").Value

txtGroup.Text = .Fields("Группа").Value

txtSubject.Text = .Fields("Предмет").Value

txtMark.Text = .Fields("Оценка").Value

End With

End Sub

Private Sub cmdFirst_Click()

' Переход к первой записи

rs.MoveFirst

Showrecord

End Sub

Private Sub cmdLast_Click()

' Переход к последней записи

rs.MoveLast

Showrecord

End Sub

Private Sub cmdPrevious_Click()

' Переход к предыдущей записи

rs.MovePrevious

If rs.BOF = True Then

rs.MoveFirst

MsgBox ("Первая запись")

End If

Showrecord

End Sub

Private Sub cmdNext_Click()

' Переход к следующей записи

rs.MoveNext

If rs.EOF = True Then

rs.MoveLast

MsgBox ("Последняя запись")

End If

Showrecord

End Sub

Private Sub cmdClose_Click()

' Закрытие записей, базы данных, рабочего пространства и окна

rs.Close

db.Close

ws.Close

Unload Me

End Sub