VB.NETでコンボボックスの値に応じてテキストボックスの値を動的に変化させる方法

このQ&Aのポイント
  • VB.NET2003を使用している小さなシステムの開発中に、コンボボックスの選択値に応じてテキストボックスの値を変化させる方法を考えています。具体的には、コンボボックスで「社員ID」を選択すると、隣のテキストボックスには「鈴木 一郎」という氏名を表示させたいです。しかし、一度表示された後でもコンボボックスの値を変更すると、テキストボックスの値が変化しない問題が発生しています。
  • 現在、コンボボックスへの値の入力とテキストボックスへの値の表示までは正常に行うことができています。ただし、一度表示された後でもコンボボックスの値を変更しても、テキストボックスの値が更新されないという問題があります。現在、データの取得にはDataSetを使用しています。この問題に対する解決方法を教えていただけないでしょうか。
  • VB.NET2003を使用している小さなシステムの開発中に、コンボボックスの選択値に応じてテキストボックスの値を動的に変化させたいです。具体的には、コンボボックスで「社員ID」を選択すると、隣のテキストボックスには「鈴木 一郎」という氏名を表示させたいです。しかし、一度表示された後でもコンボボックスの値を変更しても、テキストボックスの値が更新されないという問題が発生しています。現在、データの取得にはDataSetを使用しています。解決方法を教えていただけないでしょうか。
回答を見る
  • ベストアンサー

テキストボックスの値をコンボボックスの選択値によって動的に変化させたい(VB.NET)

こんにちは。 VB.NET2003 を使用し、小さなシステムを開発中です。 例として、コンボボックスにて「社員ID」を選択すると、その隣のテキストボックスには「鈴木 一郎」というように氏名を表示させることを考えております。 そこで、一度表示された後でも、コンボボックスの値を変化させるとそれに応じてテキストボックスの値も変更させたいのですが、どのようにしたらいいのでしょうか。 コンボボックスへの値を入れ、テキストボックスへの表示させるところまではできたのですが、一度表示された後は変化しなくて・・・。 ちなみに、それらの値の取得はDataSetを使用しています。 どなたか方法をご存知の方、教えていただけませんでしょうか。

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

  • ベストアンサー
回答No.1

>コンボボックスへの値を入れ、テキストボックスへの表示させるところ どのタイミング(イベント)で、それを行っているのですか? コンボボックスの値変更→テキストボックスに反映っていうことですよね? 「例:郵便番号コンボボックスを選択すると、住所がテキストボックスに出力される」 っていう感じのことですよね? DBにアクセスするタイミングは、どのようにお考えですか? 1.最初にDataSetを取得して、それを保持し、コンボボックスが変更されるタイミングでテキストボックスに反映 2.コンボボックスが変更されるタイミングで、毎回DBにアクセスを行い、DataSetを取得してテキストボックスに反映 >一度表示された後は変化しなくて・・・。 表示部のソースがあるのであれば、抜粋公開すると、解決が早まると思います。 それと、問題となっている部分とは関係ないけど、一応DBは何をお使いですか?

nainai9
質問者

お礼

大変申し訳ありません。 せっかく答えていただいたにもかかわらず、自己解決してしまいました。 お手数をかけ、申し訳ありませんでした。

その他の回答 (1)

  • laputart
  • ベストアンサー率34% (288/843)
回答No.2

コンボボックスの値をテーブルから読みとりその値を送信して テーブルから社員名の値を取得してテキストボックスの初期値に すればいいと思いますが。

関連するQ&A

  • VBでコンボボックスとテキストボックスの連係

    VBでフォームにデータコンボボックスとテキストボックスを一つづつ作り、データコンボボックスで値を選択し、その値に対する値をテキストボックスに表示させたいんですがどうすればいいでしょうか? データコンボボックスで選択する元になるテーブルは ID | 商品 1 | みかん 2 | ばなな 3 | りんご と、上記のような形のテーブルをもちいています。 例えばデータコンボボックスで「1」を選択した場合テキストボックスに「みかん」と表示させたいです。

  • コンボボックスの値の表示方法

    お世話になります。VB6で開発しています。 コンボボックス(cmb_No)で▼をクリックすると、従業員No(5桁)とその横に氏名が表示されるとします。 この一覧より一つクリックして選択したときに、コンボボックスのテキストには従業員Noのみ表示させたいのですが、何か方法はありませんでしょうか? Click時イベントでリストインデックス(idx)を取得後、 cmb_No.text = Left(cmb_No.List(idx),5) としましたが、テキストには表示されません。 普通に何もイベントを書かずに選択すると選択したものがそのままTextに残りますよね?

  • コンボボックスからテキストボックスに連続して値を出したい

    エクセルVBAのユーザーフォームで、コンボボックスで選択したものをコマンドボタンを押すことで、同じフォーム上のテキストボックスに表示するところまではできたのですが、同じテキストボックスに追記する形でコンボボックスで選択したものを表示したいのですが、可能でしょうか。テキストボックスは複数行表示できるようにプロパティのMultiLineはTlueに設定することはしたのですが、2回目以降コンボボックスで選択した後コマンドボタンを押してもそのまま上書きするようなコードしかわかりません。 テキストボックスに、20回目まで選択項目を追加表示し、最後にはエクセルのシートにそのデータをコピーしたいのです。果たして、そのようなことは可能でしょうか。可能であればどのように記述すればよいのでしょうか。ぜひ諸先輩方のお知恵をお貸しください。よろしくお願いします。

  • コンボボックスにて複数列の値を使う方法

    VB.NET2008にて開発中です。 下記のように、コンボボックスのDataSourceにデータベースから取得した3列のDataTableを設定した場合、3列目の値を取得する方法を教えてください。  ComboBox.DataSource = DataTable  ComboBox.DisplayMember = "1列目"  ComboBox.ValueMember = "2列目"  1列目の取得・・・ComboBox.SelectedValue  2列目の取得・・・ComboBox.Text  3列目の取得・・・ComboBox.??? 表示の必要は無く、コンボボックスで選択したアイテムに関連する値を使いたいだけです。 よろしくお願いします。

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

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

  • VB6のコンボボックスのテキストプロパティ

    VB6のコンボボックスのテキストプロパティですが、 Combo1.text="test"と入れてもコンボボックスにtestと表示されません。 Form_Loadモジュールに記載するとtestと表示されるのですが、 最初testと表示されていて、コンボボックスの候補を一つ選んで、 今の設定ではその候補は使用できないので、初期状態のtestという表示に戻したいのですが、 testに戻りません。

  • Spreadのコンボボックス

    いつもお世話になっております。 VB.NET2003とSpread2.5Jにて開発を行っております。 コンボボックスの列を作成し、コンボボックスへの入力も可能としたいのですが、どのようにすれば良いのでしょうか? (ComboBoxCellType.Editable の値を True にして入力は出来たのですが、コンボボックスのセルから抜けると入力された値が消えてしまいます。) どなたかご存知でしたらお教え願います。

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

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

  • コンボボックスのセンタリング

    初めて質問させていただきます。 VBの標準コントロールのコンボボックスを使用して 開発を進めています。 コンボボックスにはセンタリング機能というものはあるのでしょうか?テキストボックスにはTextAlignというプロパティが存在しますが・・・。 存在しないようであれば、プログラム内で数字は右詰め、文字列は左詰めという風に設定したいと思うのですが、やり方がわかりません。 どなたかご存知の方、アドバイスお願いします。

  • プルダウン形式リストボックス(コンボボックス)の値を変更したい

    こんにちは! 教えて下さい。 チェックボックスとコンボボックスがあります。 コンボボックスの一つ目の値は(any)、二つ目以降はDATAです。 デフォルトでは、「チェック無し、コンボボックスの値(any)、コンボボックスは使用不可」にしています。 チェックボックスをチェックするとコンボボックスを使用出来、コンボボックスの値をあるDATAにしたとします。 ここで問題なのですが、この地点でチェックボックスを外した時、コンボボックス の値を(any)と表示させたいのです。(コンボボックスも使用不可) コンボボックスの表示されている値を任意に変えれるのでしょうか? 初心者なもので、すごく簡単な質問だったらお許し下さい。

専門家に質問してみよう