CopyDatabaseFile マクロ アクション

適用先
Access 2010 Access 2007

"CopyDatabaseFile/データベースファイルのコピー" マクロ アクションを使って、Access プロジェクト (*.adp) に接続されている現在の Microsoft SQL Server 7.0 以降のデータベースのコピーを作成することができます。 Access によって現在のデータベースがデタッチされ、移行先サーバーにアタッチされます。

このアクションは、データベースが信頼されていない場合は許可されません。

Access 2010 は、Access データ プロジェクトをサポートする最新バージョンです。

設定

"CopyDatabaseFile/データベースファイルのコピー" マクロ アクションには次の引数があります。

アクションの引数 説明
データベース ファイル名 新しいマスター データ ファイルの名前です。 ファイルの既定のパスは、Access プロジェクト ファイル (.adp) の現在の場所です。
既存ファイルの上書き 同じ名前の既存のファイルを置き換えるかどうかを指定します。 [はい] に設定したときにファイル名が既に存在する場合は、ファイルが上書きされます。 [いいえ] に設定したときにファイル名が既に存在する場合は、ファイルが上書きされず、アクションは失敗します。 ファイルがまだ存在していない場合、この設定は無視されます。 既定値は [はい] です。
全ユーザーの切断 Access でデータベースからユーザーを強制的に切断するかどうかを指定します。 [はい] に設定した場合、現在のデータベースに接続されているすべてのユーザーが切断されるため、データベースのコピー操作を続行できます。 [いいえ] に設定したときに、1 人以上のユーザーがデータベースに接続されている場合、データベースのコピー操作は失敗します。 既定値は [いいえ] です。
適切な警告なしでデータベースからユーザーが切断された場合、データが失われることがあります。

解説

コピーは同期操作であるため、データベースのコピーが完了するまで、他の操作を実行することはできません。

"CopyDatabaseFile/データベースファイルのコピー" マクロ アクションでは、データ、データ定義、およびデータベース オブジェクトをコピーするだけでなく、既定値、テキストの制限、ルックアップ値などの拡張プロパティもコピーします。

データベースのコピーの要件:

  • データベース ファイルをコピーする前に、すべてのアプリケーションとユーザーを切断する必要があります。
  • すべてのオブジェクトとビュー (ナビゲーション ウィンドウを除く) を閉じる必要があります。
  • 現在のデータベースをレプリケートすることはできません。
  • ソース サーバー データベースは、Microsoft SQL Server バージョン 7.0 以降、またはローカル コンピューターで実行されている SQL Server 2000 Desktop Engine でなければなりません。
  • ソース サーバー上の SQL Server データベースは、単一のファイル データベースである必要があります。
  • ソースとコピー先の SQL Server コンピューターの両方で sysadmin ロールのメンバーである必要があります。

Visual Basic for Applications モジュールで "CopyDatabaseFile/データベースファイルのコピー" マクロ アクションを実行するには、DoCmd オブジェクトの CopyDatabaseFile メソッドを使います。