Yes, it's possible. Presumably you mean that you want ID to be an Autonumber
field as well as a PK (you can't add a field and make it a PK unless you can
assure that it has a unique value for each field)
Dim dbBackend As DAO.Database
Dim tdfTable As DAO.TableDef
Dim fldID As DAO.Field
Dim idxPrimary As DAO.Index
Set dbBackend = OpenDatabase("E:\Folder\File.mdb")
Set tdfTable = dbBackend.TableDefs("SomeTableName")
' Create a Long Integer field named ID to add to the table
Set fldID = tdfTable.CreateField("ID", dbLong)
' Make ID an AutoNumber
fldID.Attributes = fldID.Attributes + dbAutoIncrField
' Append ID to the table.
tdfTable.Fields.Append fldID
' Create an index named PrimaryKey
Set idxPrimary = tdfTable.CreateIndex("PrimaryKey")
' Create a field named ID to add to the index
Set fldID = idxPrimary.CreateField("ID", dbLong)
' Append ID to the index
idxPrimary.Append fldID
' Make the index the Primary Key
idxPrimary.Primary = True
' Append the index to the table
tdfTable.Indexes.Append idxPrimary
dbBackend.TableDefs.Refesh