コンボボックスに表示 [VB.NET]

Visual Basic.NET ADO.NETデータベースプログラミング

ComboBox DataAdapter.Fill

DataAdapterオブジェクトのFillメソッドの引数にDataSetとテーブル名を指定し、レコード列データを取得して、コンボボックスに表示します。

VB.NET(OleDb)版 サンプルプログラム

ComboBox1 ComboBox2
コントロール プロパティ 設定値
CmbBumonMei DropDownStyle DropDownList

プロジェクトフォルダ下のbinフォルダにsample.mdbを置きます。

Imports System.Data.OleDb

Public Class FormSelectCombOnly
    Inherits System.Windows.Forms.Form

#Region " Windows フォーム デザイナで生成されたコード "
    ' 自動生成部分省略
#End Region

    '---------------------------------------------------------------
    ' フォームロード:部門テーブルの特定列をコンボボックスに表示
    '---------------------------------------------------------------
    Private Sub FormSelectCombOnly_Load _
        (ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles MyBase.Load

        Dim con As New OleDbConnection()
        Dim cmd As New OleDbCommand()
        Dim da As New OleDbDataAdapter()
        Dim ds As DataSet = New DataSet()

        Try
            ' DB接続文字列の設定
            con.ConnectionString = _
              "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & _
                Application.StartupPath & "\sample.mdb"

            ' コネクションの設定
            cmd.Connection = con

            ' SQL文の設定
            cmd.CommandText = _
              "SELECT 部門コード, 部門名 FROM 部門テーブル " & _
              "ORDER BY 部門コード"

            ' 部門テーブルから全レコードデータを取得する
            da.SelectCommand = cmd
            ds.Clear()
            da.Fill(ds, "部門テーブル")

            ' コンボボックスに部門テーブルを連結する
            CmbBumonMei.DataSource = ds.Tables("部門テーブル")
            ' コンボボックスに部門名を表示する
            CmbBumonMei.DisplayMember = "部門名"
            ' 部門コードをSelectdValueで取得する
            CmbBumonMei.ValueMember = "部門コード"

        Catch ex As Exception
            ' 例外が発生した時の処理
            MessageBox.Show(ex.ToString, "例外発生")

        End Try

    End Sub

End Class