Microsoft Access 掲示板

登録したデータをすぐに反映する / 7

9 コメント
views
4 フォロー
7

hirotonさんの回答とかぶる部分はあると思いますが、ちょっと解説を。

フォーム上のテキストボックスやコンボボックスでデータを更新してもそれはフォーム上だけでテーブルには反映されません。レコード更新のアクションを起こしたときにはじめてテーブルに更新が反映されます。
レコード更新のアクションは、レコード移動する直前、レコードセレクターをクリックしたとき、Shift+Enter押下、、、他にもいろいろあります。

レコード更新される前に、他のフォームのRefreshをしても当然反映されません。
もし、コンボボックスを更新した直後に他のフォームにその更新を反映させたいなら、
コンボボックスの更新後処理でレコード更新した後、他のフォームのRefresh(あるいはRequery)を実行するという処理を記述することになります。

ただ、これをすると更新するたびにレコード保存されてしまうので、入力ミスをした場合、アンドゥーが効かなくなるなどの弊害があるのでよくよく検討する必要があります。(他のコントロールは更新不可にしてありコンボボックスのみ更新するフォームなら問題ないですが。)

下記で紹介しているような「保存」ボタンを作成しておいて、そのなかで他フォームをRefreshするという方法も考えられます。

レコード入力時に「保存」コマンドボタンでのみレコード保存できるようにする - hatena chips

通報 ...
  • 9
    どんぐり 2020/10/14 (水) 22:49:14 0029a@1c915 >> 7

    レコードを保存すればよかったのですね。色々とその他の検討事項も今後参考にさせていただきます。ありがとうございました。