Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КонспектЛекций.doc
Скачиваний:
71
Добавлен:
14.05.2015
Размер:
1.26 Mб
Скачать

ИспользованиеобъектаTableDef

Объект TableDef описывает каждую физически хранящуюся в базе данных таблицу. Объект TableDef описывает поля в физической таблице, идентифицирует индексы таблицы и фиксирует свойства, имеющие отношение к этой таблице.

.RecordCount указывает число записей в таблице. Если в таблице записей нет, то его значение равно нулю. Для присоединенных таблиц значение этого свойства равно -1.

.Attributes указывает на характеристики таблицы. Вы можете установить его, когда строите свою таблицу, но после добавления TableDef к семейству TableDefs свойство может быть только прочитано.

Dim dbsNorthwind As Database

Dim fldLoop As Field

Set dbsNorthwind = OpenDatabase("Northwind.mdb")

With dbsNorthwind

For Each fldLoop In .TableDefs(0).Fields

Debug.Print " " & fldLoop.Name & " = " & fldLoop.Attributes

Next fldLoop

.Close

End With

.CreateField служит для создания нового поля; новое поле содержит номер, характеризующий объект в семействе. После того как поле будет создано, метод Append семейства Fields добавляет его к TableDef.

Dim dbsNorthwind As Database

Dim tdfNew As TableDef

Dim fldLoop As Field

Set dbsNorthwind = OpenDatabase("Northwind.mdb")

Set tdfNew = dbsNorthwind.CreateTableDef("NewTableDef")

With tdfNew

.Fields.Append .CreateField("TextField", dbText)

.Fields.Append .CreateField("IntegerField", dbInteger)

.Fields.Append .CreateField("DateField", dbDate)

End With

dbsNorthwind.TableDefs.Append tdfNew

ИспользованиеобъектаRecordset

Recordset— это объект, который используется для выполнения операций с записями. Семейство Recordsets содержит все открытые объекты Recordset в открытой базе данных. При закрытии объекта Recordset он удаляется из памяти и из семейства Recordsets. Объекты Database, TableDef и QueryDef включает метод OpenRecordset.

Recordset можно открыть, указав в методе OpenRecordset объекта Database название соответствующей таблицы или воспользовавшись методом OpenRecordset объекта TableDef:

Dim dbsNorthwind As Database

Dim rstEmployees As Recordset

Set dbsNorthwind = OpenDatabase("Northwind.mdb")

Set rstEmployees = dbsNorthwind.OpenRecordset( "Employees", dbOpenDynaset)

После открытия объекта Recordset необходимо определить, какие записи доступны. Если в Recordset нет ни одной записи, то его свойства BOF (Beginning Of File — начало файла) и EOF (End Of File — конец файла) установлены в True. Если EOF установлено в False, то Recordset имеет хотя бы одну запись. Если записи существуют, то при открытии Recordset будет выполнено позиционирование на первой записи.

Используя метод Move, можно построить цикл, обращающийся к каждой следующей записи в объекте Recordset. Метод MoveLast используется для позиционирования к последней записи Recordset. Для перемещения к предыдущей записи используется метод MovePrevious, пока свойство BOF не будет установлено в True. Метод MoveFirst может быть использован для позиционирования к первой записи.

Метод Edit информирует Jet о том, что в текущей записи происходят изменения. При использовании метода Update сделанные изменения вносятся в таблицу.

Для добавления записей используйте метод AddNew. Этот метод применяется в комплексе с методом Edit при добавлении новых записей. Как и в случае с методом Edit, записи будут присоединены к таблице после применения метода Update.

Для удаления текущей записи используйте метод Delete.

После того как обработка объекта Recordset будет завершена, закройте его, воспользовавшись методом Close. Этот метод удаляет объект Recordset из семейства Recordsets и делает объект Recordset недействительным.