hatena
hatena
2023/05/31 (水) 16:46:47
3階層のサブフォーム構成の場合、一番上のフォームでRefreshすると、3番目のサブフォームは再読込されるという仕様のようです。なぜこのような仕様なのか1ユーザーからは伺いすることはできませんが、各リンクテーブルのデータ整合性を保つために必要なことなのかもしれません。どちらにしても、このような内部処理をユーザーから変更するのは難しいかと。
とりあえず、当方のサンプルでは、
Private Sub Form_AfterUpdate()
Parent.Parent!チェック1 = True
Parent.Parent!コマンド6.Visible = True
' Parent.Parent.Refresh
End Sub
というようにRefreshをコメントアウトしておくと、先頭レコードへ移動せずにチェックが入りました。
ただし、テーブルにはすぐには反映せずに、メインフォームへフォーカスを移動するとテーブルに反映されました。
※「チェック1」はチェックボックス名
Accessのローカルテーブルでの確認ですので、SQL Serverだと動作が異なるかもしれません。
通報 ...