#698 | CreateDatabaseで作ったデータベースのプロパティを設定するには? | VBA | |
「CreateDatabase」メソッドを利用すると、VBAのプログラムを使って新しい空のデータベースファイルを作成することができます。 ただ、Access2019などで実行した場合でも、新規作成されたデータベースは”ウィンドウを重ねて表示する”の設定になっていたり、”Windowsのテーマを使用しない”の設定になっていたりと、タブ付きドキュメントなどがなかった頃の古い形式のデータベースの設定になっています。 そのようなとき、最近のAccessで手作業で新規作成したものと同様の設定にするためのプログラム例です。 ※ただし一部の設定項目だけです。また「レイアウトビューを無効」と「データシートビューでテーブルのデザイン変更不可」は個人的な好みの設定です。これらは「CreateDatabase」メソッドでも最近の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 実行例:
※参考Tips: |
|||
|
Copyright © T'sWare All rights reserved |