• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Access2007 サブフォームの新規レコードをすぐにフォームに表示させる方法)

Access2007 サブフォームの新規レコード表示方法

このQ&Aのポイント
  • サブフォーム上で新規入力したデータがフォームのコンボボックスに反映されない問題が発生しています。
  • 入力ボタンを押してもデータが表示されず、一旦フォームを閉じて開くと表示されます。
  • 入力ボタンを修正することで、新規入力データを即座に反映させることができます。

質問者が選んだベストアンサー

  • ベストアンサー
  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.1

> コンボボックスは空白となり、商品データが表示されません。 コンボボックスのリストは、参照元のテーブルに対する新規登録を 自動で反映するようにはなっていないので、それを反映させるための コードが必要になります。 この反映には、Requeryを使用します。 (値集合タイプが「テーブル/クエリ」のコンボボックスの場合) 以下のコードは、コンボボックス名が「商品名」の場合です。 (IDそのものを表示する「ID」テキストボックスと、コントロールソースが  同じで商品名を表示する「商品名」コンボボックスがあるものと推測) Private Sub 入力_Click()   DoCmd.RunCommand acCmdSaveRecord   Forms!フォーム!商品名.Requery   Forms!フォーム!ID = Me.ID End Sub また、表示を更新する対象がメインフォームなのでしたら、「Me」を使用して 以下のようにすることもできますので、参考まで: Private Sub 入力_Click()   DoCmd.RunCommand acCmdSaveRecord   With Me.Parent     !商品名.Requery     !ID = Me.ID   End With End Sub ※「DoMenuItem」はAccessのバージョンへの依存性が高いため、   ヘルプでは「DoCmd」での対応が推奨されています。

kami21
質問者

お礼

ご回答ありがとうございました。 Requeryでできました。 DoMenuItemについても勉強になりました。これからはDoCmdを使おうと思います。 ありがとうございました。

関連するQ&A