2012-04-18 53 views
1

私はCOMコンポーネントアクセスで作業していますが、このエラーが発生しています。Microsoft.Office.Interop.Access.ApplicationClassのためにこのエラーを解決するにはどうすればよいですか?

Unable to cast COM object of type 'Microsoft.Office.Interop.Access.ApplicationClass' to interface type 'Microsoft.Office.Interop.Access._Application'. 

This operation failed because the QueryInterface call on the COM component for the interface with IID '{68CCE6C0-6129-101B-AF4E-00AA003F0F07}' failed due to the following error: Error loading type library/DLL. (Exception from HRESULT: 0x80029C4A (TYPE_E_CANTLOADLIBRARY)). 

実際には、B 6.0からVB.NETへの移行プロジェクトです。

誰でも助けてくれますか?

+2

多分、MS Accessがエラーを生成するPCにインストールされていませんか? – Max

+0

64ビットオペレーティングシステム上の64ビットアプリケーションからAccess 2003を呼び出していますか? – Steve

+0

私たちはAccess 2007を使用しています。 –

答えて

0

MS Access Interop(および一般的なinterops)は、64ビット実行可能ファイルと互換性がないことがあります。プロジェクトのコンパイルタイプを「x86」に変更すると、この問題が解決されました。デフォルトは「Any CPU」です。つまり、Interopと互換性のない64ビットモードで実行することができます。

また、COMライブラリのバージョンが、CPUにインストールされているバージョンと一致しない可能性があります。これは、同じプロジェクトの2人の異なる開発者が同じバージョンのAccessを持っていない場合に発生します。これはあまりありませんが、それでも可能です。

関連する問題