hatena
hatena
2024/04/24 (水) 17:34:40
そもそもMe.Refreshをする必要性が分からないのですが、なんのために必要なのでしょうか。
リンク先の説明では、日付選択カレンダーで日付を選択した瞬間に「更新後処理」イベントを実行したいということのようですが、そのために Me.Refresh は目的と手段があっていないように思います。
Refresh はカレントレコードの更新をテーブルに反映させて(=レコード保存)、かつ、テーブルデータを再読込するということですが、その必要性があるでしょうか。(再読込するので一旦非表示になる)
「更新後処理」プロシージャを実行したいのなら、それをCallすれば済む話です。
リンク先のコードなら、下記でいいとおもうのですが。
Private Sub txt_date_Change()
'キー入力フラグがfalseのときはフォーム入力値を確定する
If Me![chk_date] = False Then
'Me.Refresh
Call txt_date_AfterUpdate()
End If
End Sub
もし、日付選択カレンダーで日付を選択した瞬間にレコード保存(?)したいのなら、下記でいいですし。
(再読込はしないので非表示にはならない)
Private Sub txt_date_Change()
'キー入力フラグがfalseのときはフォーム入力値を確定する
If Me![chk_date] = False Then
DoCmd.RunCommand acCmdSaveRecord
End If
End Sub
通報 ...