The following code demonstrates how to use the ParentCatalog property to access a provider-specific property prior to appending a table to a catalog. The property is AutoIncrement, which creates an AutoIncrement field in a Microsoft Jet database.
' BeginCreateAutoIncrColumnVB Sub Main() On Error GoTo CreateAutoIncrColumnError Dim cnn As New ADODB.Connection Dim cat As New ADOX.Catalog Dim tbl As New ADOX.Table cnn.Open "Provider='Microsoft.Jet.OLEDB.4.0';" & _ "Data Source='c:\Program Files\" & _ "Microsoft Office\Office\Samples\Northwind.mdb';" Set cat.ActiveConnection = cnn With tbl .Name = "MyContacts" Set .ParentCatalog = cat ' Create fields and append them to the new Table object. .Columns.Append "ContactId", adInteger ' Make the ContactId column and auto incrementing column .Columns("ContactId").Properties("AutoIncrement") = True .Columns.Append "CustomerID", adVarWChar .Columns.Append "FirstName", adVarWChar .Columns.Append "LastName", adVarWChar .Columns.Append "Phone", adVarWChar, 20 .Columns.Append "Notes", adLongVarWChar End With cat.Tables.Append tbl Debug.Print "Table 'MyContacts' is added." ' Delete the table as this is a demonstration. cat.Tables.Delete tbl.Name Debug.Print "Table 'MyContacts' is delete." 'Clean up cnn.Close Set cat = Nothing Set tbl = Nothing Set cnn = Nothing Exit Sub CreateAutoIncrColumnError: Set cat = Nothing Set tbl = 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 ' EndCreateAutoIncrColumnVB
Append Method (Columns) | Append Method (Tables) | Catalog Object | Column Object | Columns Collection | Name Property | ParentCatalog Property | Table Object | Type Property (Column)