■既存のテーブルへフィールドを追加する

CreateField により Field オブジェクトを作成し、DAO プロパティを設定してから Fields コレクションに Append します。

その後、Access プロパティを CreateProperty で作成し Append します。

Dim db As Database
Dim tdef As TableDef
Dim fld As Field
Dim prp As Property

Set db = CurrentDb
Set tdef = db.TableDefs("テーブル名")
Set fld = tdef.CreateField("フィールド名", dbText, 50)

' DAO プロパティ
fld.DefaultValue = "規定値"

tdef.Fields.Append fld
tdef.Fields.Refresh

' Access プロパティ
Set prp = fld.CreateProperty("Format", dbText, "@@@@")
fld.Properties.Append prp

■新規テーブルの作成

Access プロパティは CreateTableDef で作成した TableDef オブジェクトを一旦 TableDefs コレクションへ Append した後に作成します。

Dim db As Database
Dim tdef As TableDef
Dim fld As Field
Dim prp As Property

Set db = CurrentDb
Set tdef = db.CreateTableDef("テーブル名")
Set fld = tdef.CreateField("フィールド名", dbText, 50)

' DAO プロパティ
fld.DefaultValue = "規定値"

tdef.Fields.Append fld
tdef.Fields.Refresh
db.TableDefs.Append tdef
db.TableDefs.Refresh

' Access プロパティ
Set fld = tdef.Fields("フィールド名")
Set prp = fld.CreateProperty("Format", dbText, "@@@@")
fld.Properties.Append prp