質問: "f_フォーム1" docmd.close acform, me.name docmd.openform stdocname end if exit_閉じる_click: exit sub err_閉じる_click: msgbox err.description resume exit_閉じる_click end sub
回答: shut0325です。 過去の質問も見たのですが、今回の処理の流れがイマイチ把握できません。 下記の様な感じでしょうか? 補足お願いします。 1.サブフォームを持つフォームである。 2.メインフォームにはいくつかテキストボックスがある。 3.サブフォームにはa b という名前の二つのテキストボックスがある。 という設定で、 a.メインフォームで「閉じる」ボタンを押すと、 サブフォームのa及びbの値に応じて、a bの背景色を黄色/マゼンタにする。 b.サブフォームのテキストボックス全ての背景色を確認し、黄色であればそのテキストボックスの名前を、メッセージ格納用の変数に格納する。 c.メッセージ格納変数が空白でないならば、メッセージを表示し、空白ならばフォームを閉じ、f_フォーム1を開く。 これだと、a.の処理の際、全てのコントロールを確認しなくとも、aとbだけ参照して処理すればいいのかなと思ったので。 さて、こちらでも簡単なコードを書いてテストしてみましたが、閉じれば背景色は元の設定に戻るため、ご質問の様な現象は再現しませんでした。 原因はわからないですが、フォーム/サブフォーム共に、読み込み時(loadイベント)に全てのテキストボックスの背景を白にするコードを追加することで解消できないでしょうか?