準・究極の選択

アクセスのクエリ検索で、メイン、サブA、サブBのフォームがあり、それぞれフォーム内のテーブルの主キーでリレーションを組んでいます。
サブAフォームにはコンボボックスが3つあり、コンボ1での検索結果をコンボ2でクエリで絞り込み、更にコンボ3で絞り込みをしています。さらにサブBフォームでは、サブAのコンボ3の詳細をコンボボックスで選択し、あとは同じレコード内の別のテキストボックスに金額を入力するように作りました。
具体的にいうとメインフォームは見積番号、工事名など、サブAは工事の大、中、
小項目を選択して、サブBでは、小項目の詳細の見積内訳を入れ、更にサブAのレコードを追加して、また大項目から内訳明細まで入力するということを繰り返します。例えば、大項目に建築工事、中項目に建具工事、小項目に木製建具工事、サブBには木製建具Aの情報が出て来て、あとはその金額を追加して合計を出すというものです。

そこで質問があります。

サブA、サブBの入力を次々といれていき、入力を訂正しようとサブAの入力済みのレコードを選択して、サブBのレコードを追加しようとコンボボックスを選択すると、コンボ3の内容でのクエリが効かなくてはならないところが、サブAの最初のレコードのクエリになってしまいます。
例えば建具工事となっているのに、サブB
では内装工事の内容が表示されるといったようです。
入力は難なくできて、各レコードにも保存できるのに、訂正しようすると検索がおかしくなるのは、何がいけないのでしょうか?

ちなみにサブAのコンボはすべて主キーで保存されるようになっています。

かなり煮詰まっています。どなたかアドレスいただけないでしょうか?

A 回答 (2件)

各コンボボックスのクエリしだいですが


各コンボボックスのフォーカス取得時のイベントで
コンボボックス名.Requery
を実行してみて下さい。
    • good
    • 0
この回答へのお礼

ありがとうございます。
入力は難なくできるので、クエリも効いています。
ご教示いただいたクエリは更新時に貼っていたので、フォーカス取得時に変更してみます。

お礼日時:2019/07/19 16:49

何かが間違っているわけですから、現状を出来るだけ曝す必要があります。


各コンボのクエリーがどうなっているのか?
その辺から考えていきましょう。
    • good
    • 0
この回答へのお礼

ありがとうございます。各コンボのクエリはそれぞれのテーブルの主キーを検索するようにしています。入力は難なくできて、再入力するためにサブAのレコードを選択するとうまくいかないのは、新規入力と再入力は何が異なるのでしょうか?

お礼日時:2019/07/18 21:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!