The following code demonstrates how to use the Command property and the Recordset object to retrieve field information for the view.
' BeginViewFieldsVB
Sub ViewFields()
On Error GoTo ViewFieldsError
Dim cnn As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim fld As ADODB.Field
Dim cat As New ADOX.Catalog
' Open the Connection
cnn.Open _
"Provider='Microsoft.Jet.OLEDB.4.0';" & _
"Data Source='c:\Program Files\Microsoft Office\" & _
"Office\Samples\Northwind.mdb';"
' Open the catalog
Set cat.ActiveConnection = cnn
' Set the Source for the Recordset
Set rst.Source = cat.Views("AllCustomers").Command
' Retrieve Field information
rst.Fields.Refresh
For Each fld In rst.Fields
Debug.Print fld.Name & ":" & fld.Type
Next
'Clean up
cnn.Close
Set cat = Nothing
Set rst = Nothing
Set cnn = Nothing
Exit Sub
ViewFieldsError:
If Not cnn Is Nothing Then
If cnn.State = adStateOpen Then cnn.Close
End If
Set cat = Nothing
Set rst = Nothing
Set cnn = Nothing
If Err <> 0 Then
MsgBox Err.Source & "-->" & Err.Description, , "Error"
End If
End Sub
' EndViewFieldsVB