René Nyffenegger's collection of things on the web
René Nyffenegger on Oracle - Most wanted - Feedback -
 

Adding a primary key [DAO]

' run (for example) after add_column.bas

sub add_primary_key()

  dim access as Access.Application
  dim db     as Dao.Database

  dim mdb_file_name as string 
  mdb_file_name = "c:\\temp\\dao_test.mdb"
  set access = new Access.Application

  access.OpenCurrentDatabase(mdb_file_name)
  set db = access.CurrentDb

  dim table_def   as dao.tableDef
' dim table_field as dao.field
  dim ix          as dao.index

  set table_def = db.tableDefs("some_table")

  set ix        = table_def.createIndex("pk_some_table")
  ix.fields.append ix.createField("theAutonumberField")
  ix.unique     = false ' ???
  ix.primary    = true

  table_def.indexes.append ix

  set ix          = nothing
  set table_def   = nothing
  set access      = nothing

end sub