Microsoft Access .accdr ファイル内のテーブルへのリンクが可能かどうかを確認できる人はいますか?
サーバー上の .accdr ファイル内のフロントエンドと .accdb ファイル バックエンド内のテーブルを持つ分割 MS-ACCESS アプリケーションがあります。以下で説明する理由により、.accdr 拡張子を持つ 2 番目のバックエンド ファイル (サーバー上) 内のテーブルにフロントエンドが接続する必要があります。
.accdr ファイルがバックエンド データベースとして許可されていないことを明示的に示しているドキュメントは見つかりませんでしたが、リンク テーブル マネージャーはそれを許可していないようで、DoCmd.DatabaseTransfer メソッドはエラーをスローします。
私の回避策は、.accdr サーバー ファイルの名前を一時的に .accdb に変更し、その中のテーブルにリンクしてデータを変更してから、名前を .accdr に戻すことです。ただし、これを行う必要がない場合は、直接接続することをお勧めします。
理由: 各クライアントがフロントエンド .accdr の最新の更新済みコピーを取得できるようにするために、起動前にサーバーからローカル マシンにフロントエンドを最初にコピーするバッチ スクリプトを作成しました。アプリケーションをロードするたびに短時間のペナルティ (フロントエンドは約 8 MB) を要しますが、バッチ スクリプトにより、クライアントが常に最新の状態に保たれます。(パフォーマンスが問題になる場合は、もちろん、ダウンロードする前にバッチ スクリプトで MD5 サムを確認しますが、まだ実行されていません。)
同時に接続するクライアントは多くありませんが (同時接続は約 2 つまたは 3 つだけです)、キャンパス内の何千ものコンピューターのいずれからでも接続できるため、これが最も簡単な方法であることがわかりました。から接続すると、フロントエンドの新しいコピーが取得されます。
残念ながら、個々のユーザーがセッション中にパラメーターをローカルに設定できるようにするため、いくつかのテーブルをフロントエンドに対してローカルに作成しました。もちろん、他のすべてのユーザーが同じデータを取得できるように、個々のユーザーがこれらのローカル テーブルを更新する必要がある場合があります。(以前は、要求に応じてこれらの変更を手動で行っていましたが、このユーザーは自分で変更できる必要があります。)
そのため、ローカル フロントエンド .accdr ファイルは、同じフロントエンド .accdr ファイルのサーバー コピーに接続して、テーブル内のいくつかのデータ調整を行う必要があります。それが理由です。私はそれが奇妙であることを知っています。
ありがとう、デイモン