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

このQ&Aのポイント
  • Accessのフォームにコンボボックスを設置して、別のクエリで選択した会社名を表示させる方法について教えてください。
  • フォーム内にはテキストボックスに列名を設置していますが、コンボボックスから選択した会社名をテキストボックスに表示させることは可能ですか?
  • VBを使用して設定する必要があるのでしょうか?
回答を見る
  • ベストアンサー

Accessのコンボボックスについて・・・

こんにちは、Accessのフォームにコンボボックスを設置して、以下のような事ができないかと悩んでおります。よろしくお願い致します。 フォーム内には、部署名・氏名・住所・商品名など、クエリの列名をテキストボックスにて設置してあります。 フォーム内に別の(客先名専用)クエリでコンボボックスを設置し、コントロールソースには会社名を選択しています。 フォームビューでそのコンボボックスからひとつの会社名を選択すると、別の(客先名専用)クエリからでも、フォーム内にあるテキストボックス名と同じ列名であればテキストボックスに表示が可能ではないかと思っています。が、現在の状態だとコントロールソースで選択した会社名のみの表示だけです。どこかで設定する機能があるのか難しいVBでの設定しかないのか、それもわかりません。是非、この方法がおわかりになられる方ご教示下さいます様お願い致します。わかりずらい説明で申し訳ございませんが、よろしくお願い致します。

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

  • ベストアンサー
  • matyap
  • ベストアンサー率56% (9/16)
回答No.1

おはようございます。 ご質問の答えになっているのか自信はないのですが・・・。 以下の仮定をしてお答えします。 ・会社名がコンボボックスになっており、客先名専用クエリーより選択が可能 ・客先名専用クエリーには会社名・会社住所・会社電話番号の情報が含まれている ・フォームの会社住所・会社電話番号には、客先名専用クエリーから取得した情報 を表示したい <会社住所・会社電話番号が表示項目の場合> ・会社住所テキストボックスのコントロールソースに  「=会社名.column(1)」  ・会社電話番号テキストボックスのコントロールソースに  「=会社名.column(2)」   と記述する <会社住所・会社電話番号をテーブルなどの項目として更新したい場合> ・会社名のイベント「更新前処理」に以下の記述をします。  Private Sub 会社名_BeforeUpdate(Cancel As Integer)   会社住所 = [会社名].Column(1)   会社電話番号 = [会社名].Column(2)  End Sub 上記のように [コンボボックス名].column(n) (n=客先名専用クエリーを0から数えて何列目の情報であるか) が使えるのではないでしょうか コンボボックス上に、会社住所・会社電話番号などの情報を表示したくない場合はコンボボックスの列数や列幅プロパティで調整してみてください。 見当違いのお答えなら、お許しください。

関連するQ&A

  • access フォームのコンボボックスでの式

    となりのテキストボックスに入力があったらコンボボックスからリストを自動選択、テキストボックスが空白なら手動でリスト選択という風にしたいのですが、コンボボックスのコントロールソースに直接式を入れても、また、フォームの元になるクエリのフィールドに式を設定してもうまく動きません。 良い解決方法はありませんでようか? どう質問したら良いかわからず大雑把でわかりづらいかもしれませんが、宜しくお願い致します。 質問に足りない情報がありましたら、補足しますのでお願いします。

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

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

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

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

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

    こんにちは、Accessのフォームにテキストボックスとコンボボックスを設置して、以下のような事ができないかと悩んでおります。 フォーム内には、テキストボックスとコンボボックスが設置してありまして、コンボボックス内にDB(会社名テーブル)から取得した全ての会社名が入っています。 しかし、そのレコード数が300件近くあるため、コンボボックス内から探し出すのに手間が掛かります。 そこで、コンボボックスの隣にテキストボックスを設置し、テキストボックス更新後に会社名テーブルの検索を行い、条件に合った会社名だけをコンボボックス内に入れることを考えているのですが、上手く行きません。 動作のイメージとしては下記のようになります。 (1)初期表示時はテキストボックス内に何も入力されていないので、全レコードがコンボボックス内に表示される。 (2)テキストボックスに「有限」と入力して、テキストボックスからフォーカスを移動させると、コンボボックス内に「有限」が会社名に含まれているレコードのみが入っている。 (3)テキストボックスを空白に戻すと、コンボボックス内には全レコードが表示 以上、どなたかご教授よろしくお願いします。

  • アクセス コンボボックス コントロールソース

    フォームにはレコードソースは指定してないけど そのフォーム乗っているコンボボックスのコントロールソースに とあるクエリの値を表示したい場合は どうすればいいでしょうか?

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

    フォームにテキストボックスを3ケ用意し、テキストボックス名をtxt1,txt2,txt3としました。これにコマンドスイッチを作成し、機能を再クエリと設定しました。 フォームのサブフォームに再クエリの結果を表示するようにしました。 クエリのテキストボックス1の抽出条件は 条件  [Forms]![フォーム名]![txt1] または [Forms]![フォーム名]![txt1] Is Null    [Forms]![フォーム名]![txt1] Is Null テキストボックス2の抽出条件は 条件  [Forms]![フォーム名]![txt2] Is Null または [Forms]![フォーム名]![txt2]  [Forms]![フォーム名]![txt2] Is Null テキストボックス3の抽出条件は 条件  [Forms]![フォーム名]![txt3] Is Null または [Forms]![フォーム名]![txt3] Is Null [Forms]![フォーム名]![txt3] と設定し、テキストボックスにデータを入力し実行すると 正しい結果が得られるのですが、テキストボックスをコンボボックスに変更し、コンボボックス名をtxt1,txt2,txt3 とすると、抽出されません。 コンボボックスをテキストボックスのように扱うのには どうするのでしょうか。教えてください。

  • Access2000 コンボボックス内の並べ替え

    フォーム上で指定した条件で選択クエリを作り、クエリのデータを フォーム上のコンボボックスに表示するようにしました。 (選択クエリのフィールド:   「ID」、「名称」、「条件(指定の状況により数が変わる)」) 選択クエリを見ると「ID」が昇順で並んでいるのですが、 フォームのコンボボックスは「名称」が昇順で表示されます。 コンボボックス上でも「ID」が昇順になるようにするには どうすればよいのでしょうか? よろしくお願いします。

  • ACCESS2000でのActiveXのコンボボックスの使い方について

    ACCESS2000で、今まで使用していたコンボボックスをActiveXコントロール(Microsoft Forms2.0)のコンボボックスに変更しようとしています。今までは値集合ソースでクエリを使って「商品名」「商品コード」を表示させ、選択後に商品コードを取得して、他で利用しています。 これをActiveXコントロールでは、どのように行ったらよいのでしょう? アドバイスをどうか、よろしくお願いします。

  • Access2003でコンボボックスからデータを抽出したい

    自己啓発でAccess2003を勉強しています。 Access2003でコンボボックスで名前を選択して、データ(住所)を抽出したものをリストボックスに表示させたいのですがどこがまちがっているかわかりません。こんなことで3週間ぐらい悩んでいます。 回答またはアドバイスをお願いします。 もしくはもっと簡単なやりかたがあればお願いします。 (1)「氏名」、「住所」のテーブルを作成。テーブル名は「01データ」 (2)「氏名」、「住所」のクエリを作成。クエリ名は「クエリ1」 (3)フォームでコンボボックスとリストを作成。フォーム名は「印刷」 ⇒コンボボックスの名前は「検索」。 ⇒値集合ソースはSELECT [01データ].ID, [01データ].氏名 FROM 01データ; これで「氏名」が選択できた。 (4)クエリの「氏名」抽出条件にLike [forms]![印刷]![検索] (5)検索するマクロを作成。マクロ名「M検索」 アクションは 全レコードの表示 フィルタの実行 ⇒Where条件は[Forms]![印刷]![検索]=[クエリ1]![氏名] (6)マクロ「M検索」をコンボボックスのプロパティ「イベント」タブから変更時に設定する。 (7)フォーム「印刷」を開き、コンボボックスで氏名を選択すると『クエリ1!氏名』と表示されてしまいます。 (8)フォーム「印刷」のリストボックスは全レコードが表示されている。

  • access コンボボックス初期表示について

    ACCESS VBA コンボボックス 初期表示について。質問します。m(__)m 教えてください。 VBAのフォームロードでコンボボックスに初期表示 させたいのですが、初期表示させいたい内容というのが、テーブルにある例えば列名AAA、列名BBBがあるとして  列名AAAの中で「3」を持っている、列名BBBの名前を初期表示させたいのです。 テーブル名 CCC AAA...BBB. ...1 ......あ.... ...2.......い.... ...3.......う.... ...4 ......え... このテーブル「CCC」でいえば3を指定して、「う」をフォームロードでコンボボックスに初期表示させたいのですがどうやればいいのでしょうか? いまの状態はコンボボックスに「あ・い・う・え」の順番で取っきていて「あ」が初期表示になっています。 コードの書き方がわかりません。教えてください テーブルCCCはフォームのプロパティのコントロールソースでつなげてあります。 ↑という風に質問させていただいて 回答していただいた内容は //何番目のデータを初期表示したいか決め、FORM LOAD時にその値をLISTINDEXにセットすれば良いのでは? //即ち //Private Sub Form_Load() //Combo1.ListIndex = 2 //End Sub //のようにプログラムを書けば良いと思います。但し、初期値は”0”なので注意が必要です。 としていただいたのですが、私の質問が説明が足りていなくて改めて質問させていただきます。 テーブルの中身はそのときそのときで入れ替わります。 テーブル名 CCC  AAA...BBB..........................................AAA..BBB ...1 ......あ....左の並びのときもあれば.......3.......か ...2.......い....右のように並びが変わる.......1.......け  ...3.......う......時があります。....................2.......さ ...4 ......え................................................4.......な このときに「3」を指定して、3に対応するBBBの行をフォームロードでコンボボックスに初期表示させたいのですがどうやればいいのでしょうか?