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

Creating a table [DAO]

' http://allenbrowne.com/func-DAO.html#CreateTableDAO
' Run create_mdb first, then run add_column.bas

option explicit

sub create_table()
  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

  set table_def = db.createTableDef("some_table")

  ' First column
  set table_field = table_def.createField("theAutonumberField", dbLong)
      table_field.attributes = dbAutoIncrField
  table_def.Fields.append table_field

  ' Second column
  set table_field = table_def.createField("aDateColumn"       , dbDate)
  table_def.Fields.append table_field

  ' Third column
  set table_field = table_def.createField("aCurrencyColumn"   , dbCurrency)
  table_def.Fields.append table_field

  ' Fourth column
  set table_field = table_def.createField("aTextColumn"       , dbText)
  table_def.Fields.append table_field
  
  ' **
  db.tableDefs.append table_def

  set table_field = nothing
  set table_def   = nothing
  set access      = nothing

end sub