MDBファイル、及びテーブルを作成するにはDAOやADOXを使用します。
サンプルではADOXを用いてテーブルを作成しインデックスの作成までを行います。
(前提)Microsoft ADO Ext. 2.1 For DDL and Securityの参照設定
Sub CreateDB()
Dim XCatalog As New ADOX.Catalog
Dim Tbl As New Table
Dim Idx As New ADOX.Index
Dim Conn As String
Conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" _
& ThisWorkbook.Path & "\テスト.mdb;"
'カタログの作成
XCatalog.Create Conn
'テーブルの作成
' フィールド(列)の追加は・・・
' [Columns.Append 列名 , データ型 ,列のサイズ(省略可)]
With Tbl
.Name = "テストテーブル"
.Columns.Append "コード", adInteger, 6 '数値型
.Columns.Append "名前", adWChar, 40 'テキスト型
.Columns.Append "金額", adCurrency '通貨型
.Columns.Append "日付", adDate '日付型
End With
'テーブルをコレクションに追加
XCatalog.Tables.Append Tbl
With Idx 'インデックスの作成
.Name = "idxCode"
.IndexNulls = adIndexNullsDisallow 'Nullを許容しない
.Columns.Append "コード" '列名の指定
.PrimaryKey = True '主キーに設定
.Unique = True '重複なしに設定
End With
'インデックスをコレクションに追加
Tbl.Indexes.Append Idx
End Sub