「CreateDatabase」メソッドを利用すると、VBAのプログラムを使って新しい空のデータベースファイルを作成することができます。
ただ、Access2019などで実行した場合でも、新規作成されたデータベースは”ウィンドウを重ねて表示する”の設定になっていたり、”Windowsのテーマを使用しない”の設定になっていたりと、タブ付きドキュメントなどがなかった頃の古い形式のデータベースの設定になっています。
そのようなとき、最近のAccessで手作業で新規作成したものと同様の設定にするためのプログラム例です。
Dim dbs As Database
Dim prp As Property
'新規データベースファイルを生成
Set dbs = CreateDatabase("C:\テスト\Database2.accdb", dbLangJapanese, dbVersion150)
With dbs
'タブ付きドキュメント
Set prp = .CreateProperty("UseMDIMode", dbByte, 0)
.Properties.Append prp
'ドキュメントタブを表示する
Set prp = .CreateProperty("ShowDocumentTabs", dbBoolean, True)
.Properties.Append prp
'フォーム上のコントロールにWindowsのテーマを使用
Set prp = .CreateProperty("Themed Form Controls", dbLong, 1)
.Properties.Append prp
'数値フィールドの文字切れをチェックする
Set prp = .CreateProperty("CheckTruncatedNumFields", dbLong, 1)
.Properties.Append prp
'Pictureプロパティの保存形式 - 元の画像形式を保持する
Set prp = .CreateProperty("Picture Property Storage Format", dbLong, 0)
.Properties.Append prp
'Access2010以降と互換性のあるキャッシュ形式を使用する
Set prp = .CreateProperty("Use Microsoft Access 2007 compatible cache", dbLong, 0)
.Properties.Append prp
'****** 以下はお好みで ******
'レイアウトビューを無効
Set prp = .CreateProperty("DesignWithData", dbBoolean, False)
.Properties.Append prp
'データシートビューでテーブルのデザイン変更不可
Set prp = .CreateProperty("AllowDatasheetSchema", dbBoolean, False)
.Properties.Append prp
.Close
End With
実行例:
- CreateDatabaseのみの場合のオプション設定

- 上記のプロパティ設定を行った場合のオプション設定

|