Attributes and Name Properties Example (VB)
This example displays the value of the Attributes property for Connection, Field, and Property objects. It uses the Name property to display the name of each Field and Property object.
' BeginAttributesVB
Sub Main()
On Error GoTo AttributesXError
Dim cnn As New ADODB.Connection
Dim cat As New ADOX.Catalog
Dim colTemp As New ADOX.Column
Dim rstEmployees As New Recordset
Dim strMessage As String
Dim strInput As String
Dim tblEmp As ADOX.Table
' Connect the catalog.
cnn.Open "Provider='Microsoft.Jet.OLEDB.4.0';data source=" & _
"'Northwind.mdb';"
Set cat.ActiveConnection = cnn
Set tblEmp = cat.Tables("Employees")
' Create a new Field object and append it to the Fields
' collection of the Employees table.
colTemp.Name = "FaxPhone"
colTemp.Type = adVarWChar
colTemp.DefinedSize = 24
colTemp.Attributes = adColNullable
cat.Tables("Employees").Columns.Append colTemp.Name, adWChar, 24
' Open the Employees table for updating as a Recordset
rstEmployees.Open "Employees", cnn, adOpenKeyset, adLockOptimistic, adCmdTable
With rstEmployees
' Get user input.
strMessage = "Enter fax number for " & _
!FirstName & " " & !LastName & "." & vbCr & _
"[? - unknown, X - has no fax]"
strInput = UCase(InputBox(strMessage))
If strInput <> "" Then
Select Case strInput
Case "?"
!FaxPhone = Null
Case "X"
!FaxPhone = ""
Case Else
!FaxPhone = strInput
End Select
.Update
' Print report.
Debug.Print "Name - Fax number"
Debug.Print !FirstName & " " & !LastName & " - ";
If IsNull(!FaxPhone) Then
Debug.Print "[Unknown]"
Else
If !FaxPhone = "" Then
Debug.Print "[Has no fax]"
Else
Debug.Print !FaxPhone
End If
End If
End If
.Close
End With
'Clean up
tblEmp.Columns.Delete colTemp.Name
cnn.Close
Set rstEmployees = Nothing
Set cat = Nothing
Set colTemp = Nothing
Set cnn = Nothing
Exit Sub
AttributesXError:
If Not rstEmployees Is Nothing Then
If rstEmployees.State = adStateOpen Then rstEmployees.Close
End If
Set rstEmployees = Nothing
If Not tblEmp Is Nothing Then tblEmp.Columns.Delete colTemp.Name
Set cat = Nothing
Set colTemp = Nothing
If Not cnn Is Nothing Then
If cnn.State = adStateOpen Then cnn.Close
End If
Set cnn = Nothing
If Err <> 0 Then
MsgBox Err.Source & "-->" & Err.Description, , "Error"
End If
End Sub
' EndAttributesVB
See Also
Attributes Property (ADO)
Connection Object (ADO)
Field Object
Name Property (ADO)
Property Object (ADO)