■既存のテーブルへフィールドを追加する
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