2017-11-01 6 views
0

私たちの会社のネットワークで共有されているAccessデータベースを構築しました。ネットワーク上のほとんどのユーザーにはAccess 2010がインストールされていますが、一部にはAccess 2016があります。Access 2016のユーザーがデータベースを開いた後、Access 2010を使用しているユーザーがデータベースを開くと、Microsoft Excel 16.0 Object Library "逃す"。新しいバージョンからオープンした後にアクセス参照ライブラリが失われる

'14 .0ライブラリ 'を選択してこれを一時的に修正できますが、それ以降のバージョンで再度開いたときにエラーが再発します。これが起こるのを止めるために私ができることはありますか?

おかげ

答えて

2

あなたが問題を回避するのに役立ちますlate bindingを、使用することができます。レイトバインディングのコードは、適切なオブジェクトライブラリのいずれかが使用可能な場合に使用できます。

あなたは、オブジェクトの初期化を変更する必要があります。

Dim excelApp As Excel.Application 
Set excelApp As New Excel.Application 

Dim excelApp As Object 
Set excelApp = CreateObject("Excel.Application") 

への注意あなたが遅延バインディングを使用する場合、インテリセンスが使用不能になること。私の通常の習慣は、早期バインディングを使用して開発し、完了後すぐに遅いバインディングに変更することです。

1

分割されていないデータベースを共有しているか、分割データベースのフロントエンドを共有していますか?

アクセスは本来マルチユーザですが、正しく配布する必要があります。データベースは2つのファイルに分割する必要があります(これはリボンの機能です)。各ユーザーには、共通の単一のバックエンドファイルにリンクする独自のフロントエンドファイルがあります。

次に、ユーザの環境に設定されていれば、参照が変更されることはありません。

+0

良い点。私はデータベースを分割したが、誰もがネットワークフォルダーに保存されているフロントエンドを使用していた。各ユーザーのフロントエンドのローカルコピーを作成するBATファイルを作成します。ありがとう – Leroy

関連する問題