This example demonstrates the Type property. It is a model of a utility for listing the names and types of a collection, like Properties, Fields, etc.
We do not need to open the Recordset to access its Properties collection; they come into existence when the Recordset object is instantiated. However, setting the CursorLocation property to adUseClient adds several dynamic properties to the Recordset object's Properties collection, making the example a little more interesting. For sake of illustration, we explicitly use the Item property to access each Property object.
'BeginTypePropertyVB Public Sub TypeX() Dim rst As ADODB.Recordset Dim prop As ADODB.Property Dim ix As Integer Dim strMsg As String Set rst = New ADODB.Recordset rst.CursorLocation = adUseClient For ix = 0 To rst.Properties.count - 1 Set prop = rst.Properties.Item(ix) Select Case prop.Type Case adBigInt strMsg = "adBigInt" Case adBinary strMsg = "adBinary" Case adBoolean strMsg = "adBoolean" Case adBSTR strMsg = "adBSTR" Case adChapter strMsg = "adChapter" Case adChar strMsg = "adChar" Case adCurrency strMsg = "adCurrency" Case adDate strMsg = "adDate" Case adDBDate strMsg = "adDBDate" Case adDBTime strMsg = "adDBTime" Case adDBTimeStamp strMsg = "adDBTimeStamp" Case adDecimal strMsg = "adDecimal" Case adDouble strMsg = "adDouble" Case adEmpty strMsg = "adEmpty" Case adError strMsg = "adError" Case adFileTime strMsg = "adFileTime" Case adGUID strMsg = "adGUID" Case adIDispatch strMsg = "adIDispatch" Case adInteger strMsg = "adInteger" Case adIUnknown strMsg = "adIUnknown" Case adLongVarBinary strMsg = "adLongVarBinary" Case adLongVarChar strMsg = "adLongVarChar" Case adLongVarWChar strMsg = "adLongVarWChar" Case adNumeric strMsg = "adNumeric" Case adPropVariant strMsg = "adPropVariant" Case adSingle strMsg = "adSingle" Case adSmallInt strMsg = "adSmallInt" Case adTinyInt strMsg = "adTinyInt" Case adUnsignedBigInt strMsg = "adUnsignedBigInt" Case adUnsignedInt strMsg = "adUnsignedInt" Case adUnsignedSmallInt strMsg = "adUnsignedSmallInt" Case adUnsignedTinyInt strMsg = "adUnsignedTinyInt" Case adUserDefined strMsg = "adUserDefined" Case adVarBinary strMsg = "adVarBinary" Case adVarChar strMsg = "adVarChar" Case adVariant strMsg = "adVariant" Case adVarNumeric strMsg = "adVarNumeric" Case adVarWChar strMsg = "adVarWChar" Case adWChar strMsg = "adWChar" Case Else strMsg = "*UNKNOWN*" End Select Debug.Print "Property " & ix & ": " & prop.Name & _ ", Type = " & strMsg Next ix End Sub 'EndTypePropertyVB
Property Object | Type Property