現在、フォームAに、リレーションシップで接続された他のテーブルに関連付けられたコンボボックスを配置しています。コンボボックスのリスティングに希望するレコードが無い場合、同コンボボックスと関連付けられたフォームBを開くため、「フォームBを開く」ボタンを押して、希望するレコードを追加した後、同じくフォームBに配置された「フォームを閉じる」ボタンで同フォームを閉じます。その後、自動的にフォームAに戻るわけですが、フォームAの「データの再表示」ボタンを押さないと、フォームBで行ったレコードの追加がコンボボックスのリスティングに反映されません。
そこで、この「データの再表示」ボタンを押す手間を省くには、どのような方法があるでしょうか。
できるdけ具体的にご解説いただければ幸いです。
フォームBの「フォームを閉じる」ボタンを押したときに、フォームAを再表示させてからフォームを閉じるようにすればよいと思います。
[Forms]![フォームA].Refresh DoCmd.Close
フォームAは、実際のフォームの名前です。もしフォームが 「営業コード追加」という名前だったら
[Forms]![営業コード追加].Refresh
フォームB に次のコードを追加してみてください。
Private Sub Form_Close() If CurrentProject.AllForms("フォームA").IsLoaded Then '元のフォームが開いていたら、コンボを再クエリ Forms!フォームA!コンボ名.Requery End If End Sub
コメント(0件)