• ベストアンサー

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

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

  • SKac
  • お礼率100% (4/4)

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

  • ベストアンサー
  • 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> を連結列に指定して名前を表示させてるんですが。。

関連するQ&A

  • access コンボボックスの次

    顧客管理・商品管理の簡略化を目指している初心者です。商品マスター・仕入先・販売先というテーブルを作成、商品情報の入力・閲覧のためのフォームを作ろうと思っています。 1)商品マスターテーブルには、仕入先コードと販売先コードが入っています。フォーム上では仕入先名・販売先名も確認したいのですが、 「商品マスターテーブルにそれらを追加したクエリを作成 → クエリからフォームを作成」 という方法でよいでしょうか。 2)フォーム上で仕入先コードと仕入先名のコンボボックスを設置します。コードを選択すると自動的に次の欄に仕入先名が反映されるようにする方法を教えてください。 おそらく非常に初歩的な質問かと思いますが、マニュアルを見たり検索をかけたりしても要領を得ません。アドバイスをどうぞよろしくお願いいたします。

  • Accessのコンボボックスの使い方について

    初心者です。 コンボボックスの使い方について教えて下さい。 商品テーブルA 商品名|コードA|コードB|コードC| マスターテーブル A|B|商品名|コードA|コードB|コードC|D|E のような2つのテーブルを作成し、マスターテーブルの「商品名」に コンボボックスで商品テーブルAの商品名を表示させるとします。 そこでコンボボックスで商品名を選択すると同時に 商品テーブルAからほかの「コードA」「コードB」「コードC」の値を マスターテーブルの「コードA」「コードB」「コードC」に入れる方法は ありますでしょうか? また、他の方法はありますでしょうか? 宜しくお願い致します。

  • Access コンボボックスの表示選択について

    Accessのコンボボックスにて、名簿テーブルにある担当を表示させていますが、Yes/Noにて、退職者を表示させない様にしたところ、退職した担当の過去レコードも表示されなくなり困っています。在職者と退職者のコンボボックスを新たに作り、選択することで、在職者のみ表示、退職者のみ表示が出来る事は、過去質問で見つけましたが、コンボボックスのみ退職者表示をさせずに、レコードには在職者、退職者の表示共にさせておく方法はないのでしょうか。知見のある方、ご教授お願い致しますm(_ _)m

  • ACCESS97のコンボボックスについて

    入社して、名刺を貰う機会が多い為、名刺を管理するものを初歩的な参考書を見てACCESS97で作りたいと思います。テーブルで数名の氏名・会社名・部署名・役職・住所を作りました。良く分からなかったので、この1つのテーブルを基にパラメータを使って検索する「検索用画面」と新しいレコードが表示される「新規入力画面」をクエリーとフォームを別々に作りました。検索用画面は、これで良しとします。しかし、新規入力画面は、同会社名が多いので、コンボボックスを作り今まで登録したものからも選べる様にもしたいです。新しいレコードでは、表示されませんが、▼で前のレコード(既に入力してあるデータ)に戻ると、エラーメッセージで「このフィールドに入力した値が不正です。例えば、数値型のフィールドに文字列を入力しました。」と出てきてしまいます。コンボボックスいうのは、コンボボックスウィザードで「テーブルまたはクエリーを表示する」を選び、表示させたいものを選ぶだけでは、いけないのでしょうか・・。くだらない質問で申し訳ありませんが、回答の方宜しくお願いします。

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

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

  • Access コンボボックスの次の値に移動

    Microsoft Accessでフォームを作りました。コンボボックス1の値はテーブル1から参照するようになっています。このフォームにボタンを追加して、ボタンを押すとコンボボックスの値が一つ下の値に移動するようにしたいです。どんなコードを書けば良いですか。

  • access2003コンボボックスの質問です

    Access2003+sql2005で コンボボックスのテーブルに顧客マスタ(顧客コード+顧客名)を値集合にセットしています。 最大レコード件数を10万にしているのですが、中身はちょうど1万件しか入ってきません。 コンボボックスは1万件が最大なのでしょうか? ご存知の方、教えて下さい。

  • Access2000 コンボボックスで…

    こんにちは。Accessは…初心者です。 フォーム上のコンボボックスについての質問です。よろしくお願いします。 Windows2000/Access2000です。 次のようなテーブルがあるとします。 「作家」…作家ID,作家名 「作品」…作品ID,作家ID(「作家」テーブルから[作家名]を引っ張ってきます)作品名 「許諾」…許諾ID,作家ID(「作家」テーブルから[作家名]を引っ張ってきます),作品ID(「作品」テーブルから[作品名]を引っ張ってきます),許諾情報 「許諾」テーブルを元にして、フォームウィザードから単票形式で「許諾フォーム」を作成しました。 このとき[作家ID]と[作品ID]は自動的にコンボボックスになりますが、[作品ID]コンボボックスに、[作家ID]コンボボックスで選択した作家の作品のみを表示したいのです。 ([作家ID]でAさんを選択したら[作品ID]にAさんの作品だけが表示されるようにしたい、ということです。) 似た内容の質問を参考にしたり、いろいろなAccessのサイトを検索したりして試したのですが、イマイチ???でした。 何かよい方法がありましたらご教示ください。 お願いします。

  • Access コンボボックスの絞り込み後の表示

    Access2002を使用しております。 コンボボックスAに連動したデータを絞り込みさせるコンボボックスBがありますが、一旦入力後は、コンボボックスAの値にかかわらずコンボボックスBに入力したデータを表示させるにはどうしたらよいでしょうか? 例として、次の3つのテーブルを基にデータベースを作成しております: メインテーブル フィールド名: ID 社名 担当者 社名テーブル ID   社名   住所 etc... ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 1    A社 2    B社  担当者テーブル ID   社名ID   担当者名  電話番号 etc... ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 1    1      木村 2    2      佐藤 3    1      田中 4    2      斎藤 メインテーブルを基にしてフォームを作成し、 「メイン」というフォーム名にして 「社名」「担当者」をフィールドのコントロールをコンボボックスに変更しました。 「社名」フィールドの値集合ソースを「社名テーブル」から引き出し SELECT [社名テーブル].ID, [社名テーブル].社名 FROM 社名テーブル; 列数2  で設定し、社名をコンボボックスで選択できるようにしました。 そして 「担当者」フィールドの値集合ソースを「担当者テーブル」から引き出し SELECT 担当者テーブル.ID, 担当者テーブル.担当者名, 担当者テーブル.社名 FROM 担当者テーブル WHERE (((担当者テーブル.社名)=forms!メイン.社名)); で設定しました。 「社名」フィールドの「更新後処理」で Private Sub 社名_AfterUpdate()     Me!担当者.Requery End Sub を設定しました。 「メイン」フォームをフォームビューで開き、「社名」コンボボックスで「A社」を選択すると 「担当者」コンボボックスで「木村」と「田中」が表示されるので、「木村」を選択します。 次のレコードに移り、「社名」コンボボックスで「B社」を選択すると 「担当者」コンボボックスで「佐藤」「斎藤」が表示されるので、「佐藤」を選択します。 さて、「佐藤」を入力した時点で、前のレコード(「A社」「木村」を選択)に戻ると 「担当者」欄が空欄で表示されます。 メインテーブルには全てデータは入力されています。 データ入力時は「担当者」コンボボックスは「社名」コンボボックスで選択した値に連動させたいのですが、 このようにデータ入力済みの場合は 最初のコンボボックスの値にかかわらず(この場合は直近に選択した社名がA社・B社のいずれかであろうとも) 入力済みのデータ(「木村」「佐藤」)がフォームに表示されるようにしたいのですが 何か良い方法はないでしょうか? 出来れば入力専用と読み取り専用のフォームを2つ使用するのではなく、1つのフォームで事足りればありがたいのですが・・・

  • Access コンボボックスを使って抽出

    Access2000・Windows2000を使用しています。 レコードの抽出をしたいと思います。テーブルは1つ、フィールドには日付・商品名・業者名・単価・・・とあります。フォームで「商品名から抽出(コンボボックスから商品を1つ選ぶ)」または「業者名から抽出(コンボボックスから業者を1つ選ぶ)」(コンボボックスから商品を1つ選ぶ)出来るようにし、なおかつ今月のレコードのみ表示させたいのですが、まずそのテーブルを1つ作成した時点でつまづいてしまっています。 どなたかご教授お願いします。

専門家に質問してみよう