Access 2000 DB が原因で問題が発生します - 時々 (原因を突き止めていません)、「ブック」フォームが閉じません。閉じるボタンをクリックしても何も起こらず、[ファイル] -> [閉じる] も何もせず、Access を閉じても何も起こりません。このフォームの OnClose ハンドラがありません。私が見つけることができる唯一の回避策は、Vba エディターを開き、そのフォームのコードを変更し (スペースを追加してからすぐにスペースを削除することもできます)、「book」フォームに戻って閉じ、そして「いいえ、変更を保存したくありません」と言います。それだけで閉じます。何か助けはありますか?
6 に答える
これは、あなたが直面しているのと同じ問題を説明しているフォーラムの投稿です。以下の抜粋は回避策を示しています。
私がやっていることは、サブフォームのソースオブジェクトを次のような空白のフォームに再割り当てするコードを閉じるボタンに配置することです。
me!subParts.sourceobject = "subBlank"'subBlankは完全に空白で、コードやコントロールなどがないフォームです。docmd.close acForm、 "fParts"、acSaveNo
上記の2行は、Accessプロンプトがポップアップしないようにする唯一の方法です。
別の選択肢は
(Me.Checkbox)
または私の好みの構文:
(Me!Checkbox)
このトピックの投稿には多くの混乱があるように思えます。元の投稿者によって選択された回答は、ユーザーがデザインの変更をフォームに保存するように促した記事を引用していますが、ここで説明されている問題は、保存の問題ではなく、フォームを閉じることができないことのようです (保存の問題VBE にアクセスしてコードを変更することを説明する回避策でのみ登場しました)。
元のユーザーが間違った VBE オプションを設定しているのではないでしょうか? VBE を開いて TOOLS | OPTIONS の GENERAL タブには、エラー処理に関するいくつかの選択肢が表示されます。BREAK ON UNHANDLED ERRORS または BREAK IN CLASS MODULE を選択する必要がありますが、前者を使用すると特定の種類のエラーが表示されない可能性があることを認識することが重要です。
チェックボックス コントロールへの参照が問題を引き起こしているように見えるという事実以外に、診断するのに十分な詳細はありませんが、これらの奇妙な点のいくつかを回避するのに役立つアクセス コーディングのベスト プラクティスがいくつかあります。Tony Toews の Best Practices ページにあるコード関連の推奨事項は、開始するのに適した場所です。
フォームにアンロードイベントがありますか?これはキャンセルできます。キャンセルした場合、フォームビューにあるときにフォームは閉じません。デザインビューでのみ閉じます。vbaコードを編集すると、コードを編集しているときにアクセスウィンドウでフォームが実行します。
フォームにチェックボックス、トグルボタン、またはオプションボタンがありますか?次のように、vbaコードでValueプロパティを明示的に使用せずに値をテストすると、Accessが閉じないというAccess2000のバグがあります。
If Me.chkbox Then
対:
If Me.chkbox.Value Then
それは確かに奇妙です。フォームにタイマー コントロールはありますか? その場合は、OnClose で無効にしてみてください。
変更を保存するかどうかを確認するメッセージ ボックスがフォームの後ろに表示されている可能性があります。このメッセージ ボックスはモーダルなので、フォームで何かを行う前に [はい] または [いいえ] をクリックする必要があるため、閉じることができません。