
サブフォーム上で適当なレコード(IDと商品名)を選択して、そのレコードにある入力ボタンを押すと、フォームのコンボボックス上にその商品名が出るようなフォームがあります。
すでに入力済みのIDと商品名は表示されます。
ところが、サブフォーム上でIDと商品名を新規入力して入力ボタンを押すと、フォームのコンボボックスは空白となり、商品データが表示されません。
しかし、一旦フォームを閉じて開くと、データは表示されています。
IDと商品名を新規入力して、そのままフォームのコンボボックスに反映させたいと思います。
入力ボタンはこのようにやってみました。
Private Sub 入力_Click()
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
Forms!フォーム!ID = Me.ID
End Sub
または、
Private Sub 入力_Click()
DoCmd.RunCommand acCmdSaveRecord
Forms!フォーム!ID = Me.ID
End Sub
ご教授いただければ幸いです。よろしくお願いいたします。
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」での対応が推奨されています。
ご回答ありがとうございました。
Requeryでできました。
DoMenuItemについても勉強になりました。これからはDoCmdを使おうと思います。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Access(アクセス) Accessの参照フィールドの列がずれてしまいます 1 2023/07/19 15:00
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- その他(Microsoft Office) Excelで総数量を変動させたい 2 2022/11/04 23:49
- Access(アクセス) Dlookupにエラーがでてしまう 1 2022/10/31 14:35
- Access(アクセス) チェックボックスにチェックが入った後の挙動 1 2022/08/21 12:39
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Access(アクセス) docmd.gotorecordを起動するには 5 2022/06/17 15:20
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessのフォーム上にレコード...
-
テキストボックスの値をテーブ...
-
アクセスでの項目追加について...
-
選択したチェックボックスのみ...
-
Bit型のフィールドの編集でエラー
-
アクセスでテーブルの変更内容...
-
ACCESSのフォームからデータの...
-
accessの自動更新処理をできな...
-
Accessのハイパーリンクのパス...
-
アクセスのフォームのビューが...
-
Access 別フォームへの再クエ...
-
access レコードソースを選択...
-
ACCESSのテーブルとフォーム
-
AccessVBAを使用して、DB内を...
-
ACCESS フォームにデータ入力で...
-
ACCESSフォームでのレコード数...
-
Access2007 フォーム上データの...
-
アクセスVBA TOP値を変数
-
「メソッドまたはデータメンバ...
-
Accessのフォームで作業領域を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessのフォーム上にレコード...
-
アクセスのフォームのビューが...
-
アクセスでテーブルの変更内容...
-
選択したチェックボックスのみ...
-
ACCESSのフォームからデータの...
-
Access 別フォームへの再クエ...
-
accessの自動更新処理をできな...
-
ACCESSで入力フォームをHTMLフ...
-
Accessフォームのテキストボッ...
-
Accessのフォームで作業領域を...
-
アクセスでの項目追加について...
-
Access2002 フォームを閉じるた...
-
アクセス 0以外をカウントす...
-
Accessのハイパーリンクのパス...
-
入力途中の入力した値をすべて...
-
Access フォーム上でコンボボッ...
-
ADOでRecordsetオブジェクトを...
-
Accessのフォーム画面について
-
ACCESSでテーブルから選択,表示...
-
帳票フォームに全レコードを表...
おすすめ情報