• ベストアンサー

Access2007でコンボボックスで選択した条件で次のコンボボックスを開きたいのですが?

Access2007デビューです。教えてください;; 例えば、「得意先テーブル」があって<得意先コード>でつながった「担当者テーブル」があるとします。 そして、「管理表」なるものを作ろうとしています。 1つ目のコンボボックスで [得意先会社名] を選んで、 2つ目のコンボボックスで、選ばれた会社の [担当者名] を選べるようにしたいんです! いい方法を教えてください!!

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

  • ベストアンサー
  • a3453a
  • ベストアンサー率28% (132/460)
回答No.1

フォーム名 FM11 ボックス名 CB1 ボックス名 CB2 と仮定します まず担当者テーブルから選択クエリーをつくります クェリーの選択条件へ [FORMS]![FM11]![CB1] とします (得意先で選択するために) このクェリーを CB2 ボックスの元ソースに指定します あとは CB1ボックスでの プロパティにおいて更新前処理行のところへ イベントプロシジァ として(右端の ... をクリック) Me![CB2].Requery という文(命令)をいれます Private Sub CB1_BeforeUpdate(Cancel As Integer) Me![CB2].Requery End Sub (これを入れないと前の得意先会社名での社員のままなので  クェリーをリセットするため) 以上です

SKac
質問者

お礼

で、できました! 確認作業に4時間もかかってしまいました;; イベントプロシジャ初めて書きました。 これからもっと勉強します。。 ありがとうございました!^^

SKac
質問者

補足

昨日お礼を書いておいていまさらなのですが。。 昨日はできたのに、今日できないんです。。。 担当者のコンボボックス(CB2)の表示内容が1回目の選択内容から変わらない。。 別のレコードに移って、得意先(CB1)を選びなおして、担当者のコンボボックス(CB2)を押したら、・・・選べる内容が変わってない・・・。 とゆう現象が起こってます。 えっと・・ クエリはうまくいってるのになんででしょう?

その他の回答 (1)

  • a3453a
  • ベストアンサー率28% (132/460)
回答No.2

かわらないのであれば クエリーがリセットされていないのだと思います 下記の Requery 命令を確認してみてください ------------------------------------------------------ あとは CB1ボックスでの プロパティにおいて更新前処理行のところへ イベントプロシジァ として(右端の ... をクリック) Me![CB2].Requery という文(命令)をいれます

SKac
質問者

お礼

す、すみませんでした;; 単なる Accessセキュリティセンターの設定 のミスでした>< お恥ずかしいかぎりです;; 教わった通りの手順で問題はクリアしました^^ ご指導まことにまことにありがとうございました!

SKac
質問者

補足

a3453aさん、ほんっと、すいません、ありがとうございます;; ん~、ちゃんと入ってます。 CB2 のコンボボックスの内容がかわらない状態の時に、 CB1 の 得意先名 を変える毎に、クエリの中をのぞいてるんですが、 クエリはうまくいってます。 レコードが移動したのに、CB2 はクエリを見てないの? って感じです。 「管理表テーブル」の 担当者 を選択するルックアップウィザードが まちがってるんでしょうか・・? クエリの <担当ID> を連結列に指定して名前を表示させてるんですが。。