4

A2007 アプリの 2 つのフォームが、OnOpen イベントの後にOnLoadイベントのトリガーを停止しました。イベントは何年も機能していますが、OnLoad イベントが現在実行されていない理由を特定できません。

代わりに、フォーム上の任意のコントロールをクリックすると、ウィンドウの [閉じる] ボタンを含む OnLoad イベントがトリガーされます。

フォームはバインドされておらず、サブフォームは OnLoad イベントで呼び出される共通関数によってフィルター処理されます。このようなフォームは他にもたくさんありますが、まだ問題なく動作しています。

イベント ([イベント プロシージャ]) の横にある [プロパティ] の省略記号をクリックして、イベントがまだコードにリンクされていることを確認しました。これにより、コードが正しく表示されます。

逆コンパイル/再コンパイルしました。参照を確認しました。新しいデータベースにインポートされました。

RecordSource (SELECT anyField FROM anyTable LIMIT 1) を追加しようとしましたが、機能しませんでしたが、 OnOpen イベントの最後の行として Me.RecordSource=Me.RecordSource を追加することで、回避策を見つけまし OnLoad イベント。

Access の開発に携わって 20 年近くになりますが、これに遭遇したのはこれが初めてです。Access が「誤動作」するたびに非常に神経質になるので、問題を見つけたいと思います。どんな提案でも大歓迎です!

4

2 に答える 2

1

開発中のフォームで同じ問題が発生しましたが、Open イベントにコードがありませんでしたが、フォームを開くときに突然 Load イベント コードの実行が停止しました。

Open イベントに「Me.RecordSource = Me.RecordSource」コードを追加すると、問題は解決しましたか?

これが答えではないことはわかっていますが、Max のコードが Open イベントでハングアップすることはなかったことを証明しています。

その他の唯一の重要な情報は、Access 2007 と 2010 の 2 台の PC でこれを開発していることですが、コードを Access 2007 PC に戻した後に Load イベントの実行が停止したかどうかは覚えていません。

于 2013-03-15T01:25:55.357 に答える