私が持っている Access 2012 アプリケーションは、町中の相手が実行しようとするまで問題なく動作します。サーバーを共有しています。私がコンパイルすると、彼はそれを実行できません。彼がそれをコンパイルすると、役割が逆転します。彼はそれを実行できますが、私は実行できません。アクセスのバージョンは同じです。ここで何が欠けていますか?
1 に答える
障害のあるシステムを特定する
最初に、コンパイルされた各バージョンを他のマシンでテストして、自分または同僚の誰が問題の原因である可能性が高いかを確認する必要があります。
問題が発生した特定の 1 台のマシンを分離した場合は、Office を完全にアンインストールして、クリーンな状態で再インストールすることをお勧めします。他の何かが破損している可能性があります。
共有データベース
共有サーバーと言うときは、Access データベースを共有ネットワーク フォルダーから実行するのではなく、バックエンド データベース (データを含み、共有ネットワーク フォルダーにある) とフロントエンド データベースに適切に分割してください。 (フォームとレポートを含み、各ユーザーのマシンで実行されます)。
ユーザーが.accde
ネットワーク フォルダからファイルを実行できるようにしている場合は、今すぐ停止してデータベースを分割してください。
確認事項
チェック中はウイルス対策を無効にすることをお勧めします。一部の呼び出しまたは一部のライブラリへのアクセスをブロックしている可能性があります。
OS または MSOffice のビット数が異なるシステム (32 ビットと 64 ビット)。64 ビット MS Office で Win32 API
を使用すると問題が発生します。 32 ビット用に作成されたフォームで古い外部コントロールを参照する場合、それらは 64 ビット マシンでは機能しません。MSOffice パッチ レベルがわずかに異なるマシン。数か月前の SP1 では、修正プログラムが発行されるまで、間違いなくこのような問題がありました。
MSAccess の正確なバージョンを確認してください: [メニュー ファイル] > [ヘルプ]。
私の言うバージョン:14.0.6123.5001(32ビット)accda/mda
バージョンまたは場所が異なり、システム上で見つからない外部ライブラリ (またはその他) への参照。
これは追跡と解決が複雑になる可能性がありますが、問題を最小限に抑える方法についての指針があります。
絶対パスで配置されているライブラリを参照していますか?適切に登録されていない、または各マシンで正確に同じバージョンではないサードパーティの ActiveX コンポーネントの使用に多少関連があります。
データベースの微妙な破損。逆コンパイルして
みてください(バックアップを作成した後)。各マシンの異なる場所にあるバックエンド データベースに対してリンク テーブルを使用していますか?
コンパイル済みファイルを実行するフォルダーが信頼できる場所
accde
のリストに追加されていることを確認してください。通常の
addcb
データベースを使用し、ランタイム モードで実行します (msaccess.exeコマンド ラインオプションを使用/runtime
)。
同じ問題が発生していますか?問題がアクセス内のクラッシュではなくコードに起因する場合は、ログを追加してコードの実行を追跡する価値があるかもしれません。
また、vbWatchdog、およびエラーを管理し、コードをトレースするための優れたライブラリも確認する必要があります (無料で試すことができます)。
強くお勧めします!