VB 2008 [MDB版]
![]() |
![]() |
- フォームにリストボックスとラベルを貼り付け
- OleDbDataAdapter.Fillでレコード取得
- ListBoxのDatasourceプロパティでデータバインド
- リストボックスに部署マスター表の部署名称を表示
- 選択した部署名から部署コードを取得し、Label2に表示
- 初期表示時は未選択状態(右上図)
- 【注意】接続文字列は、できるだけアプリケーション構成ファイルapp.configから取得するようにしてください。
販売管理データベース(部署マスター表)
| Key | 列名 | データ型 | サイズ | 値要求 | 空文字列 の許可 |
|---|---|---|---|---|---|
| ● | 部署コード | テキスト型 | 4 | はい | いいえ |
| 部署名称 | テキスト型 | 20 | はい | いいえ |
VB 2008 [SQL Server版]
VB.NET [MDB版]
Option Strict On Imports System.Data.OleDb Public Class Form1 '********************************************************************* ' リストボックスの選択項目が変更された時の処理 '********************************************************************* Private Sub ListBox1_SelectedIndexChanged( _ ByVal sender As Object, ByVal e As System.EventArgs _ ) Handles ListBox1.SelectedIndexChanged ' 選択項目が変更されたら、部署コードをラベルに表示 If ListBox1.SelectedIndex >= 0 Then Label2.Text = ListBox1.SelectedValue.ToString End If End Sub '********************************************************************* ' フォームロード処理 '********************************************************************* Private Sub Form1_Load( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load Try Using con As New OleDbConnection Using cmd As New OleDbCommand ' 接続文字列の設定(MDB) con.ConnectionString = _ "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & Application.StartupPath & _ "\販売管理データベース.mdb" ' OleDbCommand.Connectionプロパティの設定 cmd.Connection = con ' SQL文の設定 cmd.CommandText = _ "SELECT 部署コード, 部署名称 " & _ "FROM 部署マスター表 ORDER BY 部署コード" ' 部署マスター表からレコード取得 Dim dt As New DataTable Using da As New OleDbDataAdapter da.SelectCommand = cmd da.Fill(dt) ' ListBox1にバインド Me.ListBox1.DataSource =dt End Using ' リストボックスに表示する列の設定 ListBox1.DisplayMember = "部署名称" ' 選択した項目のコードを ' 取得するための設定 ListBox1.ValueMember = "部署コード" ' 項目を未選択状態に設定 ListBox1.SelectedIndex = -1 Label2.Text = Nothing End Using End Using Catch ex As Exception ' 例外が発生した時の処理 MessageBox.Show(ex.ToString) End Try End Sub End Class

