"CopyDatabaseFile/データベースファイルのコピー" マクロ アクションを使って、Access プロジェクト (*.adp) に接続されている現在の Microsoft SQL Server 7.0 以降のデータベースのコピーを作成することができます。Access は現在のデータベースへの接続を解除してから、コピー先のサーバーに接続します。データベースの接続解除と接続の詳細については、SQL Server のドキュメントを参照してください。
注: このアクションは、データベースが信頼されていない場合は許可されません。
注: 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 メソッドを使います。