こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

-広告-

解決済みの質問

追加したデータをコンボボックスへ即反映させたい。

困っておりますので(私の勝手で申し訳ないですが)、アドバイスをお願いします。

【現状と状況のご説明】
収集した情報を活用する為にACCESSでデータを保存しております。登録した情報を絞込んで検索する為に、入力時に3つの定型項目をコンボボックスを使ったプルダウンメニューの形式で入力しています。

定型項目(3項目)への新たな項目追加は、個別(3つ)のテーブルを作成。そのテーブルからフォームを個別に3つ作成し、情報登録フォーム上にボタン(フォームを開くマクロ)を配して新たな項目を追加しています。

【簡単に構成をご説明】
・テーブル名:情報登録テーブル(1つのテーブル)
・入力フォーム名:情報登録フォーム(3つのコンボボックス:A・B・C)

・テーブル名:情報項目テーブル(3つのテーブル)
・情報項目フォーム名:Aフォーム、Bフォーム、Cフォーム

【困っていること】
情報登録フォームから情報項目フォーム(A・B・C)を開いて、項目を追加したあと情報項目フォームを閉じても、開いている情報登録フォームのコンボボックスへ反映させられず(コンボボックスのメニューに未反映)、一度、情報登録フォームを終了させて、再度情報登録フォームを起動させるしかない状況です(そうすれば、コンボボックスのメニューに反映)。

【希望】
情報登録フォームを開いたままで、情報項目フォーム(A・B・C)に追加した項目をコンボボックスへ即反映させ、情報登録力フォームへの即入力を可能にさせたい。

以上ですが、宜しくお願いします。

投稿日時 - 2015-09-26 15:24:38

QNo.9054148

困ってます

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

フォームをなにもいじるつもりがないなら、「更新」ボタンで「すべて更新」を押せばコンボボックスも更新されるはずです。
情報登録フォームに戻ってきたときに「すべて更新」を押すことにするのです。

ただ、私はそういうときは、それは情報を編集した後、目的のコンボボックスをリクエリしています。例えばAというテキストボックスの更新前処理としてこんなプロシージャを埋め込んでおきます。
Private Sub A_BeforeUpdate(Cancel As Integer)
Me![Combo].Requery
End Sub
これでAを編集するたびにComboというコンボボックスをリクエリします。

投稿日時 - 2015-09-26 16:42:25

お礼

早速ありがとございました。組み込みマクロに全て更新があることを知りませんでした。ありがとうございます。

投稿日時 - 2015-09-27 09:43:54

ANo.1

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

-広告-
-広告-

回答(2)

ANo.2

情報項目フォーム(A・B・C)を閉じる時のイベントで、情報登録フォームのコンボボックスを再クエリすればいいでしょう。
VBAでするなら、例えば、Aフォームの閉じるときのイベントプロシージャを下記のように記述します。
Private Sub Form_Close()
Forms!情報登録フォーム!A.Requery
End Sub

あるいは、コンボボックスのフォーカス取得時に再クエリするようにすれば、
どこで、情報項目テーブルを更新しようが、常に最新の状態でリストが表示されます。

Private Sub A_Enter()
Me!A.Requery
End Sub

投稿日時 - 2015-09-26 16:58:44

補足

ありがとうございました。ご丁寧に分かりやすい記述(内容)で、しかも、ピンポイント対処と包括的対処の2つの対処方法をアドバイスいただきました。ありがとうございます。

投稿日時 - 2015-09-27 09:41:40

お礼

すいません。お礼と補足コメントの記入欄を間違えました。
ありがとうございました。ご丁寧に分かりやすい記述(内容)で、しかも、ピンポイント対処と包括的対処の2つの対処方法をアドバイスいただきました。ありがとうございます。

投稿日時 - 2015-09-27 09:42:38

-広告-
-広告-

あなたにオススメの質問

-広告-
-広告-