投稿者 るきお  () 投稿日時 2008/7/11 21:43:00
いろいろ方法はありますが、とりあえず2つほど紹介します。 
VB2005、Option Strict Offで試しました。 
 
■方法1 
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
 
        Dim table As DataTable = GetData() 
        ComboBox1.DataSource = table 
        ComboBox1.DisplayMember = "ProductID" 
 
    End Sub 
 
    Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged 
 
        TextBox1.Text = ComboBox1.SelectedItem("ProductName") 
 
    End Sub 
    Private Function GetData() As DataTable 
 
        'ここにOracleなどからデータを取得する処理を書く 
        '※この例ではこの部分は直書きで代替とする。 
 
        Dim table As New DataTable 
        table.Columns.Add("ProductID", GetType(String)) 
        table.Columns.Add("ProductName", GetType(String)) 
 
        table.Rows.Add("AA", "CDケース") 
        table.Rows.Add("BB", "鉛筆") 
        table.Rows.Add("CC", "分度器") 
 
        Return table 
 
    End Function 
 
■方法2 
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
 
        Dim bind As Binding 
        Dim table As DataTable = GetData() 
 
        bind = New Binding("Text", table, "") 
 
        ComboBox1.DataSource = table 
        ComboBox1.DisplayMember = "ProductID" 
 
        ComboBox1.DataBindings.Add("Text", table, "ProductID") 
        TextBox1.DataBindings.Add("Text", table, "ProductName") 
 
    End Sub 
 
    Private Function GetData() As DataTable 
 
        'ここにOracleなどからデータを取得する処理を書く 
        '※この例ではこの部分は直書きで代替とする。 
 
        Dim table As New DataTable 
        table.Columns.Add("ProductID", GetType(String)) 
        table.Columns.Add("ProductName", GetType(String)) 
 
        table.Rows.Add("AA", "CDケース") 
        table.Rows.Add("BB", "鉛筆") 
        table.Rows.Add("CC", "分度器") 
 
        Return table 
 
    End Function 
 
こんなんでいかがでしょうか?