情報登録フォームへのコンボボックスへの即時反映方法

このQ&Aのポイント
  • 情報登録フォームを開いたままで、情報項目フォーム(A・B・C)に追加した項目をコンボボックスへ即反映させる方法が知りたい。
  • 現在は、情報項目フォームを閉じてから情報登録フォームを再起動する必要があり、手間がかかっています。
  • 情報登録フォームへのコンボボックスへの即時反映ができる方法を教えてください。
回答を見る
  • ベストアンサー

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

困っておりますので(私の勝手で申し訳ないですが)、アドバイスをお願いします。 【現状と状況のご説明】 収集した情報を活用する為にACCESSでデータを保存しております。登録した情報を絞込んで検索する為に、入力時に3つの定型項目をコンボボックスを使ったプルダウンメニューの形式で入力しています。 定型項目(3項目)への新たな項目追加は、個別(3つ)のテーブルを作成。そのテーブルからフォームを個別に3つ作成し、情報登録フォーム上にボタン(フォームを開くマクロ)を配して新たな項目を追加しています。 【簡単に構成をご説明】 ・テーブル名:情報登録テーブル(1つのテーブル) ・入力フォーム名:情報登録フォーム(3つのコンボボックス:A・B・C) ・テーブル名:情報項目テーブル(3つのテーブル) ・情報項目フォーム名:Aフォーム、Bフォーム、Cフォーム 【困っていること】 情報登録フォームから情報項目フォーム(A・B・C)を開いて、項目を追加したあと情報項目フォームを閉じても、開いている情報登録フォームのコンボボックスへ反映させられず(コンボボックスのメニューに未反映)、一度、情報登録フォームを終了させて、再度情報登録フォームを起動させるしかない状況です(そうすれば、コンボボックスのメニューに反映)。 【希望】 情報登録フォームを開いたままで、情報項目フォーム(A・B・C)に追加した項目をコンボボックスへ即反映させ、情報登録力フォームへの即入力を可能にさせたい。 以上ですが、宜しくお願いします。

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

  • ベストアンサー
noname#231195
noname#231195
回答No.1

フォームをなにもいじるつもりがないなら、「更新」ボタンで「すべて更新」を押せばコンボボックスも更新されるはずです。 情報登録フォームに戻ってきたときに「すべて更新」を押すことにするのです。 ただ、私はそういうときは、それは情報を編集した後、目的のコンボボックスをリクエリしています。例えばAというテキストボックスの更新前処理としてこんなプロシージャを埋め込んでおきます。 Private Sub A_BeforeUpdate(Cancel As Integer) Me![Combo].Requery End Sub これでAを編集するたびにComboというコンボボックスをリクエリします。

eokwave
質問者

お礼

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

その他の回答 (1)

回答No.2

情報項目フォーム(A・B・C)を閉じる時のイベントで、情報登録フォームのコンボボックスを再クエリすればいいでしょう。 VBAでするなら、例えば、Aフォームの閉じるときのイベントプロシージャを下記のように記述します。 Private Sub Form_Close() Forms!情報登録フォーム!A.Requery End Sub あるいは、コンボボックスのフォーカス取得時に再クエリするようにすれば、 どこで、情報項目テーブルを更新しようが、常に最新の状態でリストが表示されます。 Private Sub A_Enter() Me!A.Requery End Sub

eokwave
質問者

お礼

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

eokwave
質問者

補足

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

関連するQ&A

  • コンボボックスに追加データを即反映させたい

    新たに食材管理データベースを作りましたが、スタート当初特有のデータ蓄積が薄いこともあり、二度手間三度手間と使いずらいくて困っています。 [困りごとの詳細] 食材管理フォーム「F_食材管理」にコンボボックスを利用して選択入力していますが、コンボボックスの選択リストに該当するデータがないときは、食材管理フォーム「F_食材管理」に配したコマンドボタンで、「F_食材メンテナンスフォーム」を開いてデータを追加しています。しかし、食材管理フォーム「F_食材管理」に即反映できません。反映させる為には、食材管理フォーム「F_食材管理」を一旦終了させる必要があります。尚、食材管理フォーム「F_食材管理」を終了させて再度開けば選択リストに反映されています。 [実施したこと] F_食材メンテナンスフォーム「F_食材管理販売店・F_食材管理食材名・F_食材管理容器姿」をそれぞれ「閉じる時」のイベントにマクロを設定し、アクションに「再クエリ」とし、引数にコンボボックス3個の名前「購入先・食材名・容器姿」をそれぞれに設定しました。しかし、全くもって効果がありませんでした。 [オブジェクトの紹介(関連オブジェクト)] ◆ACCESS2007 ◆入力フォーム F_食材管理:フォームビュー「入力フォーム」 ・1段「連結していません」コンボボックス×3個配置「購入先・食材名・容器姿」 ・フォームにF_食材メンテナンスフォームを開くコマンドボタン「メンテナンス」を配置しています。 ◆テーブル T_食材管理「メインテーブル」 T_食材管理売店名:コンボボックス参照データ T_食材管理食材名:コンボボックス参照データ T_食材管理容器姿:コンボボックス参照データ ◆メンテナンスフォーム F_食材メンテナンスフォーム「以下の3つのフォームを開くコマンドボタンを3個配置」 F_食材管理販売店(データシートビュー):参照先(コンボボックス名)=購入先 F_食材管理食材名(データシートビュー):参照先(コンボボックス名)=食材名 F_食材管理容器姿(データシートビュー):参照先(コンボボックス名)=容器姿 [データベース作成の背景] 食材の特売品「イレギュラー特価・消費期限が比較的短いなど・・・他」を購入(無計画傾向になりやすい)するが、消費期限管理「冷蔵庫内の隅々チェックが面倒」ができていなかったので、廃棄するなどのロスが発生「ゼロにしたい」していた。また、日常的にデータベースの一覧を閲覧「献立を考える」する機会を持てることで、ACCESSデータベースに触れる機会を増やせるのではと考えました。 データベースは購入したものを順次追加していき、消費「チェックボックス」したもや廃棄「チェックボックス」したものにチェック「修正一覧フォームを使って」を入れる様にしています。また、クエリを使って「在庫食材・消費食材・廃棄情報」を一覧フォームで確認できる仕組みです。データが貯まれば傾向「消費期限と消費の関係や消費食材の傾向など・・」を確認できたらと考えています。まだまだ、おおざっぱで雑でもありますが、とりあえず無いよりましとスタートしました。 以上ですが、宜しくお願いします。

  • リアルタイムで入力データを反映させたい「修正版」

    入力したデータをリアルタイムに近い形で対象オブジェクトへ反映させたいと思っています。是非、アドバイスをお願い致します。 [やりたいこと] コンボボックス「プルダウンメニュー」を利用したデータ入力を行っています。コンボボックスで選択するデータを新たに追加した際、リアルタイムに近い形でプルダウンメニューに反映できればと思っています。 [現状での対応] フォームにコマンドボタンを配して、クリック時のマクロ(コマンドの実行)で「最新の情報に更新」を設定し対応しています。時々、ボタンを押し忘れることがあり、データ追加時点にコンボボックスでの選択を可能にしたいと考えています。 [おねがい] データベースオブジェクトの項目フィールドは「項目コンボ」から入力しています。「項目コンボ」で選択するデータの追加は「項目フォーム」で行います。以下のオブジェクト構成とした場合の効果的な設定方法を教えて下さい。 ■データベースオブジェクト ・テーブル(名前)メインテーブル「フィールド(名前):ID、項目、・・・」 ・フォーム(名前)メインフォーム「テキストボックス(名前):ID、項目(コンボボックス入力)、・・・・」 ・コンボボックス(名前):項目コンボ ■コンボボックス入力用データの追加オブジェクト ・テーブル:項目テーブル「フィールド:ID、項目」 ・フォーム:項目フォーム「テキストボックス:ID、項目」※一覧フォーム 以上ですが、宜しくお願いします。

  • コンボボックスで新規登録する場合

    こんにちはアクセス初心者です。 コンボボックスの扱いについて行き詰っています。 説明が下手ですがどうぞよろしくおねがいします フォームAで コンボAとコンボBの 2つのコンボボックスを連動しています コンボAで選んだ発注者名を選択して詳細項目を表示し、 その担当者をコンボBで絞込み 担当者の詳細情報を表示しています コンボAに項目がない場合、 別ウィンドウで入力フォームが開き 新規登録後、その値が即座に反映され、 コンボBにはその抽出された値が表示され、 更にコンボBに項目が無い場合も同様に 登録作業をしたいのですが どういう方法が一番いいのでしょうか? 一番の理想としては コンボAを選択すると A社 B社 C社 新規登録 というようなリストが表示され 新規登録を選択すると 別ウィンドウで登録フォーム開き 複数項目を入力、OKを押すとその内容が フォームAに反映され コンボBの選択へ。 コンボBには 田中 佐藤 新規登録 と表示されている状態が理想です コンボAで顧客コードを選択すると 他の内容を下記のように VBAでフォーム上のテキストボックスに反映させています Private Sub コンボA_AfterUpdate() Me!担当者名コンボ.Requery '内容反映 Me.〒 = Me.顧客名コンボ.Column(2) Me.現住所 = Me.顧客名コンボ.Column(3) Me.電話番号 = Me.顧客名コンボ.Column(4) コンボA SELECT 顧客マスタ.顧客コード, 顧客マスタ.顧客名, 顧客マスタ.〒, 顧客マスタ.現住所, 顧客マスタ.電話番号 FROM 顧客マスタ ORDER BY 顧客マスタ.顧客コード; コンボB SELECT 担当者マスタ.担当者コード, 担当者マスタ.担当者名, 担当者マスタ.携帯番号, 担当者マスタ.顧客コード FROM 担当者マスタ WHERE (((担当者マスタ.顧客コード)=[forms]![フォームA]![コンボA])) ORDER BY 担当者マスタ.担当者コード; 別ボタンで新規登録をつくり リストに無い場合はフォームを表示させ テーブルに保存させるという方法も試しましたが デザイン上の問題があって とても小さなスペースしかとれず、 コマンドボタンをおくスペースもとるのが難しい感じなので できればコンボボックスだけで解決したいのですが。。 どなかた教えていただけると助かります どうぞよろしくおねがいいたします

  • 困ってます!Accessフォームのコンボボックス

    初心者です。とーっても困っています・・・。 顧客データを登録しているのですが、テーブルを元に登録フォームを作成しました。 商品がたくさんあって、4つのコードに分かれています。フォームの中に[A][B][C][D]と4つのコンボボックスを作成し、絞込み検索ができるようにはしました。 が、しかし、選んだデータがテーブルに表示されません。例えば[A]のコンボボックスの中から[1010]を選択、テーブルを見ると、他のテキストボックスに入力した情報は保存されているけど、コンボで選んだデータは空白です。 誰か助けてください!!よろしくお願いします。

  • コンボボックスの値が消えてしまいます。

    コンボボックスの値が消えてしまいます。 フォーム(1)にコンボボックスA(値集合ソースはテーブル1)があります、この リスト外入力時で別フォーム(2)(レコード追加用)を開きテーブル1にレコードを追加、 フォーム(2)を閉じる時にコンボボックスAをリクエリかけてフォーム(1)に戻るとコンボボックスAが空になっているのでリストを開き選択し直さなければいけません! フォーム(1)に戻った時コンボボックスAに入力した値を選択させておくにはどの様にすれば良いか アドバイスよろしくお願いいたします。 WIN XP ACCESS 2003で作成しています。

  • 【Excel・マクロ】コンボボックス・テキストボックスからのデータの入力について

    教えて下さい! 今シートにはA列に日付(2003/1/1~2010/12/31)、B列からI列の1行目には項目名が入っています。 これから行いたいことは、別マクロで表示させたフォームのコンボボックスから日付を選択し、同じフォーム上にある項目名に沿った8つのテキストボックスにデータを入力することにより、そのデータがシートに反映されるというものを作成したいのです。 データが入力される部分は選択された日付の行の、各項目名と交わる部分となります。 (例)        |あああ|いいい|ううう・・・ 2003/1/1 |    |    | 2003/1/2 |    |    | 2003/1/3 |    |    | ※上の表だとコンボボックスから2003/1/2を選択し、テキストボックス「いいい」部分にデータを入力するとC3セルにデータが入力されます。 コンボボックスにデータを表示させることは出来るのですが、そこから先(この日付を選んでテキストに入力して・・・)が出来ません。 よろしければ、記述を教えて頂きたいと思います。 宜しくお願い致します。

  • accessのコンボボックスのことで質問です。

    accessを勉強しているのですが、ちょっとしたことで分からなくなってしまいました・・。 質問の内容なのですが、まずフォーム上にコンボボックスAとコンボボックスBを配置するとします。 レコードソースには仮に[情報テーブル]というテーブルが選択されているとします。 コンボボックスAには[情報テーブル]のフィールド名が、 例えば[顧客NO]、[商品]、[値段]というフィールド名が入っているとし、フィールドにはそれぞれ10件ずつデータが入力されています。 そしてコンボボックスAで[顧客NO]を選択するとコンボボックスBに[顧客NO]の10件のデータが挿入され、選択できるようにしたいのです。 他のフィールド名を選んだときにも同じようにコンボボックスBにフィールドのデータが入るようにしたいと思っています。 コンボボックスAにテーブル名を入れることはできたのですが、 コンボボックスAで選択されたフィールドのデータを、コンボボックスBで選択できるようにするというやり方がわからないのです・・。 accessは2002を使っています。 よろしくお願いします。

  • コンボボックスを使った入力の改善

    コンボボックスを使った入力を全てのデータベースで利用しています。しかし、各コンボボックスがそれぞれ独立「単体動作」しているので、コンボボックスの初段目「最初」はレコード数が少ないのですが、2段目3段目になると選択候補が累積表示されるので、候補の数も多くなり使いづらさを感じるデータベースも増えました。この状況を改善したいと思っていますので、宜しくお願いします。尚、データベースで設定しているコンボボックス全てに言えることでもありますので、以下のケースを紹介させていただきますので、アドバイスをお願いしたいと思います。 [現状でのやり方] コンボボックス参照オブジェクトは以下の構成にて、コンボボックスは独立していて連動していません。なお、参照データの追加作業は別途作成したフォームを、データ入力フォームに配したコマンドボタンで開いて行っています。 [コンボボックス関連オブジェクト(例)] コンボボックス名:都道府県(値集合ソースで都道府県のみ選択) テーブル名:都道府県テーブル フィールド名:ID、都道府県 フォーム名(参照データ追加):都道府県追加フォーム ※「新規追加後の入力フォームへの即反映はアドバイスにより完結済」 コンボボックス名:市町村(値集合ソースで市町村のみ選択) テーブル名:市町村 フィールド名:ID、市町村 フォーム名(参照データ追加):市町村追加フォーム ※「新規追加後の入力フォームへの即反映はアドバイスにより完結済」 [改善させたいこと] コンボボックス「都道府県」で東京都を選択したとき、次のコンボボックス「市町村」では東京都の市町村だけが次の候補として表示させたいと思っています。又、現在は蓄積データの絞り込み検索で設定していますが、選択コンボボックスの次のコンボボックスを自動プルダウンさせ、候補も同時に表示させ入力できればと考えています。 以上ですが、宜しくお願いします。

  • accessのコンボボックスを連動させた結果の反映

    access2002を使用しています。必要に駆られて勉強を始めましたが行き詰ってます。 初歩的な質問ですが宜しくお願いします。 AとBのコンボボックスでAで特定値を入れたときにその結果を再クエリでBの選択肢を絞り込むコンボボックスを作成しています。 http://oshiete1.goo.ne.jp/qa1413361.html の返答を参考にその通りの物を作ってみたのですが、(以下) 反映されたデータの入力テーブルの氏名入力にも、所属部が入力されてしまいます。Bのコンボボックスで選択した氏名を〔反映されたデータの入力〕テーブルの〔氏名入力〕に反映させたい場合はどのような変更を加えれば良いのでしょうか? ご指導頂ければ幸いです。

  • ACCESSでコンボボックスからの入力でリスト外の追加をフォームを使っ

    ACCESSでコンボボックスからの入力でリスト外の追加をフォームを使って登録 ACCESSのフォームを使ってデータ入力を作成しています、"顧客名"をコンボボックスを使って選択するようにしていますが。 リスト外の新規顧客を入力する際には別の"顧客登録"フォームが開いて、顧客情報(読み仮名、顧客名、都道府県コード、所在地)を入力して、閉じると登録した"顧客名"がコンボボックスから選択できるようにしたいと思い、マクロを使用して(VBはよくわからないので) イベント→リスト外入力時→”顧客登録”フォームが開く 必要事項を入力し、閉じるボタンをクリック。 してみたのですが、コンボボックスのリストに先に入力した新規データが出てきません。 何が足りないのかご教授お願いいたします

専門家に質問してみよう