Шаг 43 - Свойство Type

Описание
Задает или возвращает значение, указывающее тип объекта или тип данных объекта.

Значение
Задаваемое или возвращаемое значение является константой, указывающей тип объекта или тип данных объекта. Для объектов Field или Property данное свойство доступно для чтения/записи до добавления объекта в семейство или в другой объект, после этого свойство становится доступным только для чтения. Для объектов QueryDef, Recordset или Workspace это свойство доступно только для чтения. Для объектов Parameter в рабочей области Microsoft Jet это свойство доступно только для чтения. В рабочей области ODBCDirect это свойство всегда доступно для чтения/записи.
Для объектов Field, Parameter или Property задаваемые или возвращаемые значения свойства определяются с помощью следующих констант:

Константа	Тип
dbBigInt		Big Integer
dbBinary		Binary
dbBoolean		Boolean
dbByte		Byte
dbChar		Char
dbCurrency	Currency
dbDate		Date/Time
dbDecimal		Decimal
dbDouble		Double
dbFloat		Float
dbGUID		GUID
dbInteger		Integer
dbLong		Long
dbLongBinary	Long Binary (OLE Object)
dbMemo		Memo
dbNumeric		Numeric
dbSingle		Single
dbText		Text
dbTime		Time
dbTimeStamp	Time Stamp
dbVarBinary	VarBinary

Для объекта QueryDef следующие константы определяют тип запроса:

Для того, чтобы создать запрос к серверу SQL в рабочей области Microsoft Jet, нет необходимости явно задавать в свойстве Type константу dbQSQLPassThrough. Этот тип задается ядром базы данных Microsoft Jet автоматически при создании объекта QueryDef и определении его свойства Connect.

Следующие константы определяют тип объекта Workspace.

Замечания
При добавлении нового объекта Field, Parameter или Property в соответствующее семейство объекта Index, QueryDef, Recordset или TableDef возникает ошибка, если содержащая этот объект база данных не поддерживает тип данных, указанный для нового объекта.

Пример
Следующая программа демонстрирует применение свойства Type, возвращая имя константы, соответствующей значению свойства Type четырех разных объектов Recordsets. Для выполнения данной процедуры требуется функция RecordsetType.

Sub TypeX()

	Dim dbsNorthwind As Database
	Dim rstEmployees As Recordset
	Set dbsNorthwind = OpenDatabase("Борей.mdb")
	' По умолчанию используется константа dbOpenTable.
	Set rstEmployees =  dbsNorthwind.OpenRecordset("Сотрудники")
	Debug.Print 	"Табличный объект Recordset (таблица 'Сотрудники'): " & RecordsetType(rstEmployees.Type)
	rstEmployees.Close
	Set rstEmployees = dbsNorthwind.OpenRecordset("Сотрудники", dbOpenDynaset)
	Debug.Print "Динамический набор записей (таблица 'Сотрудники'): " & RecordsetType(rstEmployees.Type)
	rstEmployees.Close
	Set rstEmployees = dbsNorthwind.OpenRecordset("Сотрудники", dbOpenSnapshot)
	Debug.Print "Статический набор записей (таблица 'Сотрудники'): " & RecordsetType(rstEmployees.Type)
	rstEmployees.Close
	Set rstEmployees = dbsNorthwind.OpenRecordset("Сотрудники", dbOpenForwardOnly)
	Debug.Print "Набор с последовательным доступом (таблица 'Сотрудники'): " & RecordsetType(rstEmployees.Type)
	rstEmployees.Close
	dbsNorthwind.Close
End Sub

Function RecordsetType(intType As Integer) As String

	Select Case intType
		Case dbOpenTable
			RecordsetType = "dbOpenTable"
		Case dbOpenDynaset
			RecordsetType = "dbOpenDynaset"
		Case dbOpenSnapshot
			RecordsetType = "dbOpenSnapshot"
		Case dbOpenForwardOnly
			RecordsetType = "dbOpenForwardOnly"
	End Select

End Function

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.