即効テクニック |
CompactDatabaseメソッドを使って、閉じているデータベースのコピーと最適化を行います。 サンプルでは、「C:\AccessVBA\db2.mdb」を最適化して、「C:\AccessVBA」フォルダに「db2Back.mdb」というコピーを作成しています。 Sub Sample() DBEngine.CompactDatabase "C:\AccessVBA\db2.mdb", "C:\AccessVBA\db2Back.mdb" End Sub 最適化されるのはコピーされたデータベースです。 開いているデータベースを最適化することはできませんし、コピー先のディレクトリに同名のファイルが存在するとエラーになります。 CompactDatabaseメソッドの構文は次のとおりです。 <構文> DBEngine.CompactDatabase olddb, newdb, locale, options, password 指定項目 説明 olddb 閉じている既存のデータベース名を示す値を指定します。 "C:\db1.mdb" のようにフルパス名で指定できます。 ファイル名に拡張子が付いている場合、拡張子も指定してください。 "\\server1\share1\dir1\db1.mdb" という形式でネットワークパス名 を指定できる場合、ネットワーク上のデータベースも指定することが できます。 newdb 作成中の最適化したデータベースのファイル名(およびパス) を示す値を指定します。また、引数olddbと同様、ネットワーク パス名も指定することができます。 locale (省略可能)バリアント型(Variant)の文字列式を指定します。 この文字列式は、引数newdbを作成するための照合順序を指定します。 この引数を省略した場合、値は引数 olddb と同じになります。 引数newdbパスワードを作成することもできます。次のように、 引数localeにパスワードの文字列(";pwd=" で始まります)に定数を つけて結びつけます。 DbLangSpanish & ";pwd=NewPassword" 引数localeにolddb(既定値)と同じ値を使用するのに新しい パスワードを指定した場合には、パスワードの文字列を引数locale に入れます。 ";pwd=NewPassword" options (省略可能)1つ以上のオプションを示す定数または定数の組み合わせ を指定します。 password (省略可能)データベースがパスワードで保護されている場合、 パスワードを含むバリアント型(Variant)の文字列式を指定します。 パスワードの前に、文字列";pwd="を入力する必要があります。 引数localeにパスワードの設定を含めた場合、 この設定は無視されます。 閉じているデータベースのコピーと最適化以外に、バージョンおよび照合順序の変更、暗号化を行うことができます。これは Jet ワークスペースでのみ使用可です。