Microsoft Access 掲示板

parent.refreshでレコードとフィールドの位置が先頭になってしまう。 / 8

17 コメント
views
4 フォロー
8

孫フォームで入力してレコード保存すると(更新処理)、親フォーム(Parent.parent)にフォーカス移動して、画面がスクロールして、先頭フィールドへフォーカスが移動するということですか。

こちらで下記のようなサンプルを作成して実験してみましたが、症状は再現できませんでした。

親テーブル、子テーブル、孫テーブルを作成してサンプルデータを入力。
それぞれをソースとするフォームを作成して、親テーブルフォームに子テーブルフォームをサブフォームとして配置。
子テーブルフォームに孫テーブルフォーム(帳票フォーム)をサブフォームとして配置。

孫テーブルフォームの更新後処理に下記のように記述。

Private Sub Form_AfterUpdate()
    Parent.Parent!チェック1 = True
    Parent.Parent!コマンド6.Visible = True
    Parent.Parent.Refresh
End Sub

親フォームへフォーカス移動しませんでした。

かなり複雑なことをしているようですし、こちらで状況を再現できないので、こちらから原因を特定するのは困難です。

まずは、現状の各フォームのコードをコメントアウトして、孫フォームの更新後処理の下記の部分だけコメントアウトを解除してサブフォームで更新してShift+Enterでレコード保存した場合、症状は出ますか。

                Parent.Parent!巻替検査記録 = True
                Parent.Parent!巻替検査記録ボタン.Visible = True
                Parent.Parent.Refresh
通報 ...