MyTetra Share
Делитесь знаниями!
Шаг 43 - Свойство Type
16.03.2019
23:43
Текстовые метки: DAO, Справка DAO, Access, Type
Раздел: !Закладки - VBA - Access - DAO

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

Значение
Задаваемое или возвращаемое значение является константой, указывающей тип объекта или тип данных объекта. Для объектов 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 следующие константы определяют тип запроса:

  • dbQAction - Запрос на изменение
  • dbQAppend - Запрос на добавление записей
  • dbQCompound - Составной запрос
  • dbQCrosstab - Перекрестный запрос
  • dbQDDL - Управляющий запрос
  • dbQDelete - Запрос на удаление
  • dbQMakeTable - Запрос на создание таблицы
  • dbQProcedure - Процедурный запрос (только в рабочей области ODBCDirect)
  • dbQSelect - Запрос на выборку
  • dbQSetOperation - Запрос на объединение
  • dbQSPTBulk - Используется вместе с константой dbQSQLPassThrough для указания запроса, не возвращающего записи (только в рабочей области Microsoft Jet)
  • dbQSQLPassThrough - Запрос к серверу (только в рабочей области Microsoft Jet)
  • dbQUpdate - Запрос на обновление

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

  • dbOpenTable - Таблица (только в рабочей области Microsoft Jet).
  • dbOpenDynamic - Объект Recordset динамического типа (только в рабочей области ODBCDirect)
  • dbOpenDynaset - Динамический набор записей
  • dbOpenSnapshot - Статический набор записей
  • dbOpenForwardOnly - Статический набор записей с последовательным доступом

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

  • dbUseJet - Объект Workspace подключен к ядру базы данных Microsoft Jet.
  • dbUseODBC - Объект Workspace подключен к источнику данных ODBC.

Замечания
При добавлении нового объекта 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

Так же в этом разделе:
 
MyTetra Share v.0.52
Яндекс индекс цитирования