0

MS Access アプリケーションを開発している間、Shift クリックでアプリケーションを開きます。(ON ERROR ... によって) トラップされないエラーが発生すると、エラーについて通知するメッセージ ボックスが表示されます。これは良いことです。

ユーザーがアプリケーションを開くと、シフト クリックがなく、適切な開始フォームが開きます。ただし、トラップされていないエラーが表示されなくなり、アプリケーションは、ユーザーがメッセージ ボックスの [停止] ボタンをクリックしたかのように動作します。私はこの振る舞いを望んでいません。

プロダクション コードで (できればアプリケーション ID が mde に変換された場合でも) 開発中と同じ動作を提供するオプション / プロパティ / 変数はありますか? つまり、トラップされないエラーごとにメッセージ ボックスを表示しますか? それとも、すべてのイベント ルーチンでエラーをトラップし、プログラムでメッセージ ボックスをポップアップ表示する必要がありますか?

4

3 に答える 3

1

これは、AllowSpecialKeys プロパティを False に設定した場合の副作用です。これはプログラムで行うことができますが、私は Tools > StartUp の下のメニューで行いました。

このプロパティにより、ユーザーはコード エディターを開くことができるので、ある程度は理にかなっていますが、説明されている現象とこのオプションとの関係は、私にとって不可解でした。

これは、コードを非表示にしたい場合、これらすべてのエラー ハンドラを作成する必要があるということですか? または、エラー ハンドラを呼び出すことができる中心的な場所 (Java のメイン メソッドなど) が 1 つありますか。または、特殊なキーを許可して、キーワードでコードを保護することはできますか?

于 2008-12-10T16:37:40.937 に答える
0

独自のエラー ハンドラーを作成し、それをすべての proc、sub、および function に追加できます。コードに行番号を追加したり、エラー ラベルを「事前にプログラミング」したりするなど、多くのことを可能にするこの非常に優れたMZ Tools VBA アドオンがあります。

十分に頭が良ければ、このアドオンを使用して、err.number、err.description、および undocument erl 値などを表示する標準の「エラー管理」コードを生成できます。エラーが発生した行 (この値を取得する前に、まず行に番号を付ける必要があります)。

編集:同様の件名でこの質問を開きました。

于 2008-12-10T22:09:17.413 に答える