Re: How do I create an AutoIncrement column with ADOX ?
From: Frank Hickman (fhickman_nosp_at_m_noblesoft.com)
Date: 03/01/04
- Next message: schick: "Odbc fails with parameters"
- Previous message: harry: "How do I create an AutoIncrement column with ADOX ?"
- In reply to: harry: "How do I create an AutoIncrement column with ADOX ?"
- Next in thread: harry: "Re: How do I create an AutoIncrement column with ADOX ?"
- Reply: harry: "Re: How do I create an AutoIncrement column with ADOX ?"
- Messages sorted by: [ date ] [ thread ]
Date: Mon, 1 Mar 2004 00:35:35 -0500
Try adding this line prior to setting the property...
.Item("ContactId").ParentCatalog = catDB;
My VB is a little rusty so you may have to tweak it :)
Sub CreateAutoNumberField(strDBPath As String)
Dim catDB As ADOX.Catalog
Dim tbl As ADOX.Table
Set catDB = New ADOX.Catalog
' Open the catalog.
catDB.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & strDBPath
Set tbl = New ADOX.Table
With tbl
.Name = "Contacts"
Set .ParentCatalog = catDB
' Create fields and append them to the
' Columns collection of the new Table object.
With .Columns
.Append "ContactId", adInteger
' Make the ContactId field auto-incrementing.
.Item("ContactId").ParentCatalog = catDB;
.Item("ContactId").Properties("AutoIncrement") = True
.Append "CustomerID", adVarWChar
.Append "FirstName", adVarWChar
.Append "LastName", adVarWChar
.Append "Phone", adVarWChar, 20
.Append "Notes", adLongVarWChar
End With
End With
' Add the new Table to the Tables collection of the database.
catDB.Tables.Append tbl
Set catDB = Nothing
End Sub
This solution was posted by Josef Blösl on 02/13/2004 in a reply to my reply
about the same subject. My solution was somewhat different so if the above
does not work for you, you may want to try that instead. Which was to go
ahead and append the table to the catalog and then set the column property.
But his solution should work as appending the table essentially does this
too.
HTH
--
============
Frank Hickman
NobleSoft, Inc.
============
Replace the _nosp@m_ with @ to reply.
"harry" <harry@nospam> wrote in message
news:uNA2FOz$DHA.1464@tk2msftngp13.phx.gbl...
> Previously posted on microsoft.public.data.oledb
>
> Hi,
>
> I'm trying to create AutoIncrement column in a new Access database table
> via ADOX.
> I am using MSDN sample code however I still receive error: Property
'Item'
> is 'ReadOnly'
>
> The line triggering the error is:
> .Item("ContactId").Properties("AutoIncrement") = True
>
> I'm using MDAC 2.8 and VB.NET
>
> How do I create AutoIncrement column when creating new table using ADOX ?
>
> Thanks
> Harry
>
> This is the Sample I tried...
>
>
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/odeopg/html/deovrcreatingmodifyingaccesstables.asp
>
> Sub CreateAutoNumberField(strDBPath As String)
> Dim catDB As ADOX.Catalog
> Dim tbl As ADOX.Table
>
> Set catDB = New ADOX.Catalog
> ' Open the catalog.
> catDB.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
> "Data Source=" & strDBPath
>
> Set tbl = New ADOX.Table
> With tbl
> .Name = "Contacts"
> Set .ParentCatalog = catDB
> ' Create fields and append them to the
> ' Columns collection of the new Table object.
> With .Columns
> .Append "ContactId", adInteger
> ' Make the ContactId field auto-incrementing.
> .Item("ContactId").Properties("AutoIncrement") = True
> .Append "CustomerID", adVarWChar
> .Append "FirstName", adVarWChar
> .Append "LastName", adVarWChar
> .Append "Phone", adVarWChar, 20
> .Append "Notes", adLongVarWChar
> End With
> End With
>
> ' Add the new Table to the Tables collection of the database.
> catDB.Tables.Append tbl
>
> Set catDB = Nothing
> End Sub
>
>
>
>
>
>
- Next message: schick: "Odbc fails with parameters"
- Previous message: harry: "How do I create an AutoIncrement column with ADOX ?"
- In reply to: harry: "How do I create an AutoIncrement column with ADOX ?"
- Next in thread: harry: "Re: How do I create an AutoIncrement column with ADOX ?"
- Reply: harry: "Re: How do I create an AutoIncrement column with ADOX ?"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|