• ベストアンサー

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

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

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

  • ベストアンサー
  • Gin_F
  • ベストアンサー率63% (286/453)
回答No.1

> 他のテキストボックスに入力した情報は保存されているけど、コンボで選んだデータは空白です。 このコンボボックスのプロパティを確認してください。 コントロールソース欄にフィールド名が入っていなければ、非連結のコントロールという ことなので、その場合はテーブルには値が入りません。

ringo0120
質問者

補足

さっそくの回答ありがとうございます! コントロールソースはおっしゃるとおり空白でした・・。 それで、「A」のコンボボックスのコントロールソースに「A」を選んで、他もBCD・・と選びました。ところがA>B>C>Dと絞込み検索ができていたのにAのコンボボックスからデータを選ぶことはできますが、BCDのコンボボックスが空白になってしまいました・・・。 Bのコンボックスの値集合ソース SELECT Bコード(入力用).Bコード, Bコード(入力用).B, Bコード(入力用).Aコード FROM Bコード(入力用) WHERE (((Bコード(入力用).Aコード)=forms!ベリ入力用!コンボ0)); Cのコンボボックスの値集合ソース SELECT Cコード(入力用).*, Cコード(入力用).C, Cコード(入力用).Bコード FROM Cコード(入力用) WHERE (((Cコード(入力用).Bコード)=forms!ベリ入力用!コンボ2)); Dのコンボボックスの値集合ソース SELECT Dコード(入力用).Dコード, Dコード(入力用).D, Dコード(入力用).Cコード FROM Dコード(入力用) WHERE (((Dコード(入力用).Cコード)=forms!ベリ入力用!コンボ4)); となっています。 よろしくお願いします。

その他の回答 (2)

  • Gin_F
  • ベストアンサー率63% (286/453)
回答No.3

> BCDのコンボボックスが空白になってしまいました・・・。 A のコンボボックスの更新後イベントで、 Me!B.Requery のようにしてみてください。 B のコンボボックスでは、 Me!C.Requery のように。

ringo0120
質問者

補足

またまたご親切にありがとうございます!(^-^)! Aの更新後処理は Private Sub コンボ0_AfterUpdate() Me!コンボ2.Requery End Sub となっています。 これを書き直すのでしょうか? ホントに初心者ですみません・・・。 その下には Private Sub コンボ2_BeforeUpdate(Cancel As Integer) Me!コンボ4.Requery End Sub Private Sub コンボ4_BeforeUpdate(Cancel As Integer) Me!コンボ6.Requery End Sub と続いています。 非連結のときはうまく絞り込みできてたのに・・・。 またよろしくお願いします。

  • keikan
  • ベストアンサー率42% (75/176)
回答No.2

[A]のコンボボックスの構造はどうなっていますか? 他の方が書かれているとおり、このコンボボックスは非連結になっているとおもいます。 検索するためだけにこのコンボボックスに値を入力する場合は非連結のまま、コンボボックスから選んだ値をデータ登録する場合は連結にする必要があります。

ringo0120
質問者

補足

回答ありがとうございます!! ↓にも書いたように、連結にしたつもりなのですが、どうもうまくいきません・・・。 よろしくお願いします。

関連するQ&A

  • Access テキストボックスとコンボボックス

    Access初心者で、勉強がてらデータ登録フォームを作成しています。 フォーム上にコンボボックスを設置し、 テーブルに保存されているデータを検索できるようにしたのち、 テキストボックスのコントロールソースには簡単に 「=[コンボボックス].[column](2)」としています。(それぞれの名前は仮称です) 後から、テキストボックスひとつで 「コンボボックスからの検索結果を表示させる」と 「テキスト入力も可能とする」 を共存させたいと思い始めたのですが、可能になりますでしょうか。 ただし「コンボボックスからの検索結果表示」をしたテキストボックスに対し、 その情報をフォーム上で書き換えたとしても、テーブル側のデータ書き換えは行いたくありません。 よろしくお願いいたします。

  • Accessのフォーム その2

    すいません、以前にも同じ質問をしたのですが、私の質問の仕方が悪くてうまくいきませんでした。 回答してくださった方、ありがとうございました! もう一度、詳しく質問しなおします。 顧客データを登録しているのですが、テーブルを元に登録フォームを作成しました。 商品がたくさんあって、4つのコードに分かれています。フォームの中に[A][B][C][D]と4つのコンボボックスを作成し、絞込み検索ができるようにはしました。 しかし、選んだデータの[A]しかテーブルに表示されません。例えば[A]のコンボボックスの中から[1010]を選択、[B]のコンボボックスから選択しようとしても空っぽです。 テーブルを見ると、[A]で選んだ[1010]だけが表示されています。 非連結のときはうまく出てたんですが・・。 もしかして連結列が間違ってるのでしょうか?? 元になるテーブルは Aコード A  Bコード B Aコード Cコード C Bコード Dコード D Cコード この2列目を表示したいのです。(2列目が[1010]など表示したいデータ) 列数はそれぞれ「2」で連結列は「2」です。 更新後処理は以下の通りです。 Private Sub コンボ0_AfterUpdate() Me!コンボ2.Requery End Sub Private Sub コンボ2_AfterUpdate() Me!コンボ4.Requery End Sub Private Sub コンボ4_AfterUpdate() Me!コンボ6.Requery End Sub ぜひよろしくお願いします。

  • ACCESS2007 コンボボックス使い方

     いつも皆様には、お世話になります。以下のようにコンボボックスを用いて絞り込みシステムを考えております。しかし、汎用例が乏しくまた、私自身初心者なので、どこをどうすればよいか分からず作業がストップしています。 ------------------------------------------------- | 絞り込みシステム |------------------------------------------------ | 勘定項目:[コンボボックスA〕 ←3項目表示    A、B、Cなど | 勘定科目コード:〔コンボボックスB〕←2項目表示 10,20 など | 分類項目:〔コンボボックスC〕←12項目      赤、青、黄,緑など | 分類コード:〔コンボボックスC〕←上記の項目、コードにより 50~1までデータ数がある。 | |                            [絞り込みボタン〕 ------------------------------------------------- 段階をおって絞り込まれた、これらのフォームから該当するデータを表示させます。 このようなことは可能でしょうか。皆様のお知恵をお借りしたいと思います。何卒よろしくお願いいたします。

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

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

  • Access フォーム コンボボックス

    フォーム上のコンボボックスの選択したデータをテーブルに保存するにはどのようにすれば宜しいのでしょうか? 実際のものは、社員が複数人表示されていまして、その社員一人一人が1日ごとの出勤が可能か不可能かをコンボボックスから選択しテーブルに書き込みたいのですが、その社員一覧のテキストボックスと出勤可・不のコンボ(コントロールソースにてテーブルの各日付ごとに設定)をフォームに作ったところ、社員一覧と社員に対するコンボがずらっと表示さるのですが、コンボを選択しようとしますと下部に「このコントロールは式○○に連結しているため編集できません。」と表示されます。 長文になり、尚且つかなり分かりづらい説明で申し訳ございませんが宜しくお願い致します。

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

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

  • ACCESS コンボボックスの絞込みについて

    タイトルの件ですが、 テーブルに作成したデータを使って、 フォームのコンボボックス2つに絞込み入力ができるようにしました。          (例1)   (例2)    コンボボックス1: 北海道   東京     コンボボックス2: 札幌市   中野区 本来、そのテーブルにあるデータを取ってくるのかと思いますが、 新データが発生した場合、コンボボックスに直接入力をしたいのです。           (例3) コンボボックス1: アメリカ コンボボックス2: カリフォルニア州 それは可能でしょうか? ちなみにコンボボックス1,2ともプロパティイで「入力チェック」を「いいえ」にすることができませんでした。 どうしたらいいのでしょうか。 教えてください!

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

    こんにちはアクセス初心者です。 コンボボックスの扱いについて行き詰っています。 説明が下手ですがどうぞよろしくおねがいします フォーム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,フォームで最新のコンボ内容が反映不可

    フォーム入力時、顧客や商品データが無い場合、フォームを開いたままで、そのテーブルを開き、顧客や商品データを入力、閉じます。 フォームでは、顧客や商品データはコンボボックスで選ぶ用にしていますが、それにテーブルに新たに入力したそのデータが出てきません。 フィールド→更新、やフォームを閉じ開きすれば、現れます。 これを、例えばボタンを作成し、テーブルにデータ追加後、ワンクリックで、フォームのコンボボックスに新入力データを反映させるにはどうすれば良いのでしょうか(SQLの方が良いか?)。 また、フォームのコンボボックスのデータは、フォームを開いた時のテーブルやクエリのデータそのままで、コンボボックス選択時に再読み込みなどはしないのでしょうか? 正確にはコンボボックスのデータは順の関係でクエリで整順させたものです。 access2000でwindows2000です。 宜しくお願いいたします。

  • Access コンボボックスの複数選択

    Access2007を勉強中の初心者です。 「空白のフォーム」から作成したコンボボックスで、複数選択が可能になるような設定はありませんか? テーブル項目の「ルックアップ」「複数の値を許可」を許したテーブルから作成したフォームでは、コンボボックスで複数の値を選択可能になりますが、「空白のフォーム」から作成した場合にはできないのでしょうか。 リストボックスではスペースをとってしまう為、コンボボックスで行いたいです。 言葉足らずな内容かもしれませんし、大変お手数をおかけしますが、よろしくお願いいたします。

専門家に質問してみよう