web-dev-qa-db-ja.com

Access 2010-2016互換性エラー

ユーザーがAccess 2010にいる間、私はAccess 2016に更新されました。

データベースをMS Access 2016で一度開いて、何も変更せずに閉じました。これで、すべてのユーザーに[〜#〜] any [〜#〜]基本エラーが発生しました以下を含むVBAコード:

_StrConv (Me.FormField, vbProperCase)
DoCmd.GoToRecord
DoCmd.RunCommand acCmdSaveRecord
_

等.

しかし、それは私の側でうまく機能します。 Access 2010のすべてのユーザーにとって完全に壊れています。これを修正する方法はありますか? Access 2010に戻ったとしても、通常どちらのバージョンでも正常に機能するコードのエラーである場合、これらのエラーを解決するにはどうすればよいですか?

コンパクトと修理を試みましたが、効果はありません。

次に例を示します。Access2010では、AfterUpdate()関数を含むテキストボックスでStrConv (Me.FormField, vbProperCase)イベントがトリガーされると、VBAデバッガーが表示されます。エラーは次のとおりです:_Compile error: cannot find project or library._

以前は、まったく同じ関数がAccess 2010で正常に機能し、このコードに変更はありませんでした。約15日前のバックアップコピーで正常に動作します。

3
pblo

コミュニティwikiの回答

その特定のエラーメッセージが重要です。

コンパイルエラー:プロジェクトまたはライブラリが見つかりません

2016年にOffice 2010データベースを開くと、[参照]メニューの14.0オブジェクトライブラリへのVBA参照がすべて削除され、Office 2010には存在しない16.0に置き換えられました。

壊れた参照は、.mdbは古いバージョンで開かれています。 Officeライブラリ(Word、Excelなど)への参照がある場合に発生します。最も古いバージョン(コードを実行しないバージョン)の(VB Editorで)参照を編集します。

2
user126897

最初:-Visual Basic Editorで「Missing:Reference」を確認します。通常は、MS Accessが新しい参照を継承し、それらを元に戻したり、下位互換性を持たせたりしません。

2番目:-OLEオートメーション参照が機能している... OLEオートメーション参照を削除し、データベースを保存/閉じる/再度開いて、再度追加する。Environ( "Username")を使用すると、時々このエラーが発生します。

1
Chris Koch

MS Access 2016に追加されたいくつかの機能は、いくつかのようなものを制限します。この機能を使用するオブジェクトを変更できない場合があります。この機能を使用するオブジェクトは開きません。そのため、2016に組み込まれた新しい機能は、開くファイルを制限している可能性があります。何が変わったのか正確には言えません。

0
Rylan08