• ベストアンサー

困ってます!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
質問者

補足

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