質問

私が取り組んでいるデータベース(MS-Access XP)は、どういうわけか破損したようです。イベントをサポートしなくなりました - クリック、変更、イベントの更新、何も機能しないようです。これは私が得るエラーです:

イベントプロパティ設定が次のエラーを作成したときに入力した変更に関する式は、オブジェクトまたはクラスがイベントのセットをサポートしていません。

イベントを再び機能し始めるために私は何ができますか?私が試してみました ツール - >データベースユーティリティ - >コンパクトおよび修理データベース..., 、しかし、それはまったく役に立ちませんでした。また、それはずっとこのようにはありませんでした - イベントは元々機能していましたが、今では何も機能しておらず、自動生成コマンドボタンでさえも機能しません。

役に立ちましたか?

解決

コンパクトと修理は一般に、テーブルとインデックス以外のオブジェクトで発生する問題を解決しません。通常、インポートすると修正されますが、逆コンパイルを試してからインポートを試してみてください。 逆コンパイルまたはMicrosoftアクセスMDB/MDEサイズを削減し、起動時間を短縮する方法

私は一度同じ問題に遭遇し、ここで私のトラブルシューティングのステップを文書化しました。 入力したクリックの式...

また、参照してください 破損したMicrosoft Access MDB内の破損したオブジェクト

長い議論が要約されました。

助けられるかもしれない解決策があるかもしれない1ページ Vista/Windows7の下での複数のバージョンのアクセスを使用したエラー これは基本的にレジストリへの許可問題です。

もう1つの提案は、コントロールパネルにオフィス2003のインストールを修復することです。 A2003は、ライブラリのバージョン11の使用に戻りますが、A2007が再び使用されるまでのみ、問題は再び現れます。

オリジナルのポスターは、「さて、いくつかの再起動の後、2007年のランタイムを削除することで問題が解決したようです」と述べました。

他のヒント

トニーは彼の長い一連のコメントでこれをほのめかしましたが、これは決闘アクセス登録の問題のように聞こえます。私は最近までA2007を使用していませんでした(A2003で開発されたデータベースをその下に展開できるかどうかをテストするためにランタイムをインストールしていました - それは可能ですが、そのテストは完全に使用されていませんでした)、そして私が実行するときに使用できませんでした) A2007 A2003を使用した後、それ自体を再構成する必要があります。先日、A2003再構成の間に何か問題が発生しました(最後にA2007を実行した後)。 A2007を実行して(すべてをA2007として再登録するため)、A2003を実行して(A2003としてすべてを再登録するため)、問題が解決しました。

重要なのは、再登録が失敗した場合、アクセスが次回実行されるときに必ずしもそれを知っているわけではないため、A2003に部分的に登録され、一部はA2007に登録されている環境で実行されることです。復元する方法は、他のバージョンのアクセスを実行することです。つまり、A2003が再構成通知なしで起動している場合、それを閉じてA2007を実行して、それ自体を再構成し、実際のアクセスとして再登録します。次に、A2003を次に実行すると、Accessの権威あるバージョンとして再登録され、A2003アプリにはすべての参照が適切な形状になります。

はい、これは非常に迷惑です。

時間がかかります。

なぜMSがこれを修正する必要がないものだと思うのかわかりません。私は彼らがA2003とA2007を並べて実行する必要がある開発者についてネズミのお尻を与えていないことを知っていますが、A2007ランタイムアプリをインストールしているかもしれないが、A2003が基本オフィスのインストールの一部としてインストールされている可能性のあるエンドユーザーがたくさんいます。

これは永遠に続いているので、私はそれが修正されることを疑います。

Access 2013で同じ問題に何度も遭遇しました。MSWebサイトのページから、私の問題を解決した答えを見つけました。ここで共有しています。

  1. NotePad ++で、アクセス外のどこかでコードを安全にコピーしました。
  2. 次に、発火していないコードで、ベント手順全体を削除しました。
  3. 新鮮なイベント手順を作成し、Notepad ++から新しく作成されたイベント手順にコードを復元しました。
  4. 以前のイベントは解雇されなかったのは不具合なしで始まりました。問題は解決しました。

なぜ問題が現れるのかわかりません。この問題は何度も発生し、同じソリューションで解決されるたびに発生しています。

それを試してみてください。

データベースを逆コンパイルして再コンパイルしてみてください。

それが機能しない場合、私は通常、新しいデータベースから新しいデータベースからすべてをインポートします。何かが破損している場合、私はその時点で問題に遭遇し、それを修正することができます。

コードモジュールにコードが表示されますか?もしそうなら、どこかに安全な場所にカットして貼り付けます。次に、各フォームのHasmodule設定をfalseに反転し、データベースを修復し、コードを新しく作成したコードモジュールに復元します。

フラグ /逆コンパイルを起動オプションに追加して、データベースを逆コンパイルします。

msaccess.exe“ c: my_folder mydb.mdb” /decompile

私はそれが私の問題のほとんどを解決すると思います。そうでない場合は、セキュリティウィザードを実行してデータベースを再セキュアすることです。これは基本的に新しいDBを作成し、あなたのためにすべてのオブジェクトをインポートします

同様の問題がありました。それが始まったとき、私はデータベースをコピーしてコードの新しいバージョンを作成しました。これは助けにはなりませんでした。ただし、新しいデータベースからフォームを削除し、元のデータベースからインポートすると問題が解決しました。破損したコードなどの警告はありませんでした。それは単にVBAなどを変更することなく単に機能しました。

データベース(アクセス2010)を新しいものに圧縮しました。喜びはありません。機能していないフォームを削除し、古いデータベースからインポートしました。喜びはありません。再コンパイル。 喜び! なぜそれが辞められ、なぜそれが機能するのかわからない。フォーム上のリンクされたテキストボックスにある大量のテキストの問題があると思われます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top