• ベストアンサー

ConboBoxのリストを複数表示するには

VB.NET初心者です。 Win2003Server+SQL2000+VB.Net2005の組合せで使っています。 Form1というフォームにDataSet1を貼り付けています。 DataSet1にはSQL2000の稟議書というデーターベースの 氏名というテーブルがセットしています。 氏名というテーブルには 氏名 住所 TEL というフィールドがあります。 この3つのフィールドをConboBoxに全て表示したいのですが つまりConboBoxのリストに 氏名 住所 TEL と表示したいのですが どうしたらいいのでしょうか。 ご存知の方教えてください。

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

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

Dim value As String For Each row As DataRow In DataSet1.Tables(0).Rows   value = row("氏名").ToString() & " " & row("住所").ToString() & " " & row("TEL").ToString()   ComboBox1.Items.Add(value) Next 的なことですか?

10071007
質問者

お礼

お2人の方に回答いただいてありがとうございます。 私の聞き方が悪かったのかと思うんですが、 ComboBox1のプルダウンを押すとかきの様に表示される事を考えていました。 氏名  住所  TEL AAA AA市AA町155 082-111-1111 BBB AA市AA町156 082-111-1112 CCC AA市AA町157 082-111-1113 NoMusicNoLife49のを動かしますと AAA AA市AA町155 082-111-1111 と表示されました。 naktak さんの方は For Each row As DataRow In 稟議書DataSet1.Tables(0).Rows value = row("氏名").ToString() & " " & row("住所").ToString() & " " & row("TEL").ToString() ComboBox1.Items.Add(value) Next と書きましたが valueの所がデバッグでひっかかります。 お2人の方に続けて申し訳ありませんが、 続けてよろしくお願いいたします。

10071007
質問者

補足

お礼の直後に次の様に書き加えました。 Dim value As String <---追加 For Each row As DataRow In 稟議書DataSet1.Tables(0).Rows value = row("氏名").ToString() & " " & row("住所").ToString() & " " & row("TEL").ToString() ComboBox1.Items.Add(value) で動きました。 結局 ComboBox1には 1つのフィールドしか表示されないのでしょうか。 他に複数の表示をする事は出来ないのでしょうか ご存知でしたら教えてください。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.2

こんにちは。 以下の記述で要件を満たせます。↓ ComboBox1.Items.AddRange(New String() {"氏名", "住所", "TEL"})

10071007
質問者

お礼

お2人の方に回答いただいてありがとうございます。 私の聞き方が悪かったのかと思うんですが、 ComboBox1のプルダウンを押すとかきの様に表示される事を考えていました。 氏名  住所  TEL AAA AA市AA町155 082-111-1111 BBB AA市AA町156 082-111-1112 CCC AA市AA町157 082-111-1113 NoMusicNoLife49のを動かしますと AAA AA市AA町155 082-111-1111 と表示されました。 naktak さんの方は For Each row As DataRow In 稟議書DataSet1.Tables(0).Rows value = row("氏名").ToString() & " " & row("住所").ToString() & " " & row("TEL").ToString() ComboBox1.Items.Add(value) Next と書きましたが valueの所がデバッグでひっかかります。 お2人の方に続けて申し訳ありませんが、 続けてよろしくお願いいたします。

10071007
質問者

補足

お礼の直後に naktak さんの回答に 次の様に書き加えました。 Dim value As String <---追加 For Each row As DataRow In 稟議書DataSet1.Tables(0).Rows value = row("氏名").ToString() & " " & row("住所").ToString() & " " & row("TEL").ToString() ComboBox1.Items.Add(value) で動きました。 ただこれだと 1つのフィールドに AAA AA市AA町155 082-111-1111 と出てきます。 結局 ComboBox1には 1つのフィールドしか表示されないのでしょうか。 他に複数の表示をする事は出来ないのでしょうか ご存知でしたら教えてください。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • フィールドの非表示

    frm1というフォームに表示すると表示しないというオプションボタンがあり 表示しない方のボタンをオンにすると TDBGridの合計のフィールドは表示しないようにしたいのですが またデータベースへ登録するときは "なし"と登録したいのですが こんなのVBで出来ますでしょうか? 教えてください。 VB6.0 SQL Serverです。 よろしくお願いします。

  • DataGridの中身をDataSetにテーブルとして保存する方法 (初心者)

    VB.NET2003でDataSetにテーブルを作成して、データベース(SQLServer2000)にあるテーブルを引っ張ってきて、そのDataSetのテーブルをDataGridに渡して、表示までは出来たのですが、DataGridの中身を変更した後、違うDataSetに保存する方法が分かりません。どなたか教えてください。

  • 複数のテーブルをつなげる

    (SQLデータベース)同じフィールド構成になっているテーブルを複数つなげて、あたかも一つのテーブルのようにすることは可能ですか?  SQLでビューみたいなのを作ったり、直接Reportingソフト上の関数(VB)で作ったりしたいです。    目的は、CrystalReport(Reportingソフト)で、リンク関係のない3つのテーブルをリストし、検索できるようにする、です。  質問が分かり難いかもしれませんが、もしお分かりになる方があれば教えてください!

  • Access2003で質問

    (1)テーブルで「氏名」、「住所」のデータベースを作成。 (2)フォームで「氏名」、「住所」のテキストボックスを作成 (3) (2)で作ったフォームで(1)で作ったデータベースを表示させたい のですが、(2)のテキストボックスで「#Name?」と表示されてしまいます。 (1)で作ったデータベースを(2)で作成したテキストボックスに表示させ方を教えてください。

  • 最初のフォームを表示した時にタスクが表示されない。

    VB初心者です。 Win2003Sarver+SQL2000+VB.Net2008の組合せで作っています。 VB.Netで作成したプログラムの最初のフォームを立ち上げた時 タスクにプログラムの立ち上がっている事が表示されません。 そのフォームは最初に立ち上がるようにMy Projectで設定したフォームです。 そのフォームから別のフォームを呼出すと タスクにプログラムの立ち上がっている事が表示されます。 最初のフォームを立ち上げた時に タスクにプログラムの立ち上がっている事を表示するにはどうしたらいいのでしょうか。 ご存知の方教えてください。

  • DataGridViewiに項目を追加するには。

    VB.Net初心者です。 Win2003server+SQL2000+VB.Net(2008)という組合せで使っています。 Form1というフォームに データーベースの ATest_ST というストアドを元に DataGridViewを作りました。 ストアドに追加のフィールドが必要になったのでストアドを書き換えました。 SELECT dbo.稟議書Data.納品確認日, dbo.稟議書Data.稟議書DataID, dbo.稟議書Data.ID, dbo.稟議書Data.項目名, dbo.稟議書Data.品名, dbo.稟議書Data.発注日, dbo.稟議書.区分, dbo.稟議書Data.税込単価, dbo.稟議書Data.数量, dbo.稟議書Data.金額, dbo.稟議書.社名 <----これを追加しました。************************* FROM dbo.稟議書Data INNER JOIN dbo.稟議書 ON dbo.稟議書Data.ID = dbo.稟議書.ID WHERE (納品確認日 >= @何日からですか) AND (納品確認日 <= @何日までですか) AND dbo.稟議書.区分=@区分 ORDER BY dbo.稟議書Data.納品確認日 この追加した 社名 という項目を現在のDataGridViewに追加・表示したいのですが これ以降がわかりません。 どうしたらいいのでしょうか。 ご存知の方教えてください。

  • ルックアップフィールドについて

    Accessをデータベースにして練習中です。 テーブルが複数あり、デザイナで基本フォームを作ってあります。 参考書にルックアップフィールドの作成の仕方が載っていたのですが わからなくなってしまったのでどなたか教えてください。 下のコードを実行すると、ルックアップフィールドが空白になってしまいます。 データセット名:業務DataSet 登録社員テーブル:社員ID、氏名、住所、電話の4列 成績テーブル:社員ID、成果、残業時間の3列 成績テーブルに対応したフォームをデザイナで作成。 社員IDは「社員IDComboBox」、ルックアップフィールドはツールボックスから作り、「氏名TextBox」にしました。  ルックアップフィールドのTextBoxに社員IDに対応した氏名を表示したいと思っています。   Private Sub 社員IDComboBox_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 社員IDComboBox.SelectedIndexChanged If 社員IDComboBox.Text = "" Then Exit Sub      End If Dim dr As 業務DataSet._登録社員Row dr = 業務DataSet._登録社員.FindBy社員ID(CType(社員IDComboBox.SelectedText, Integer)) If dr Is Nothing Then 氏名TextBox.Text = "" Else 氏名TextBox.Text = dr.氏名 End If End Sub 色々やっていたら何がおかしいのかわからなくなってしまいました。 すみませんが教えてください。 それと、ComboBoxに登録社員テーブルの社員IDの一覧を表示しようと思ったらどのようにすればよいのですか?

  • Access2000 フォームからレコード検索

    Access2000で質問です。 「顧客テーブル」を作ります。 顧客テーブルには以下のフィールドを設けます。 顧客ID(主キー) 名前 TEL 住所 変更住所 顧客IDから住所まではすでにデータが入っています。 「変更住所」に新しくデータを入れていきます。 その際に、フォームを利用したいと思っていますが、 新規フォーム(何もデータが入っていない)に顧客IDを入れたら、すでに顧客テーブルに入力されている名前、TEL、住所がパッと表示され、変更住所だけが空欄で表示されるようなフォームを作りたいと思います。 どのような方法がありますでしょうか? ぜひお知恵を貸してください。よろしくお願いいたします。

  • データベース設計、同一マスターへの外部キーについて

    例えば社員マスターテーブルがあり、稟議書のテーブルがあったとします。 稟議書のレコードには、作成者、指示者、承認者など、 社員を入れるべき項目がいくつもあり、 データ上はIDとしたいですが、表示は氏名を利用したいと思っています。 こういった場合はどうテーブル設計したらいいでしょうか、 または皆様はどういうテーブル設計にしているでしょうか。 私は以下の2案しか思いつきませんでしたが、 もっとスマートな方法、または実際にどうしている、 どうすべきなどありましたら、ご教授、ご意見ください。 よろしくお願いいたします。 案a.稟議書テーブルに各項目の社員IDフィールドを作り、 表示時は、必要数分の社員マスターテーブルを別名で結合する →リレーションとしてあまり正しくない? 処理が重くなる? 案b.稟議書テーブルに各項目分の社員IDフィールドと 社員氏名フィールドも作る →冗長である? 整合性が問題?

  • DataAdapterやDateSetを使わないでプログラミング

    VisualStudio.net2003でVB.netとデータベースとの連携の勉強をしています。 フォームからDataAdapterを配置し、DataSetを作るやり方はわかったのですが、フォームを使わず、すべてプログラミングする方法はあるのでしょうか?また、どのようにすればよいのでしょうか?