タイトル | : Re^3: コンボボックスの記入位置 |
記事No | : 2174 |
投稿日 | : 2005/09/20(Tue) 10:17 |
投稿者 | : なおこ(・∀・) |
お世話になります。
あんまり、雨さんのコードを変えていないんですが、 とりあえず、下のコードで動きました。
> また、この処理でコンボボックスに > 複数行・・・ 所属コード・所属名と表示したいのですが、良い方法等ございませんでしょうか。 この件に関しては、2つ目の処理のところでコメントアウトしている行を 参照して下さい。 なお、Accessのコンボボックスのプロパティで列数=2 とした時のような表示をお望みなのであれば、この方法は違います。 ちなみに、私はその方法は知りません。
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim oConn As OleDb.OleDbConnection Try oConn = New OleDb.OleDbConnection oConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=C:\db1.mdb" oConn.Open()
'1つ目 Try Dim cd_Da As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter Dim cd_Ds As DataSet = New DataSet cd_Da.SelectCommand = New OleDb.OleDbCommand("SELECT * FROM T_分類", oConn) cd_Da.Fill(cd_Ds, "T_分類") With Me.cmd_CD .Text = "" .DropDownStyle = ComboBoxStyle.DropDownList .Items.Clear() .DataSource = cd_Ds.Tables("T_分類") .DisplayMember = "区分名" .ValueMember = "分類コード" 'これを設定すると、cmd_CD.SelectedValueで分類コー ドが取得できる End With Catch ex As Exception Throw ex End Try
'2つ目 Try Dim scd_Da As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter Dim scd_Ds As DataSet = New DataSet scd_Da.SelectCommand = New OleDb.OleDbCommand("SELECT * FROM T_所属", oConn) 'scd_Da.SelectCommand = New OleDb.OleDbCommand("SELECT *,所属コード&所属名 AS TESTFIELD FROM T_所属", oConn) '2項目連結 scd_Da.Fill(scd_Ds, "T_所属") With Me.cmd_SCD .Text = "" .DropDownStyle = ComboBoxStyle.DropDownList .Items.Clear() .DataSource = scd_Ds.Tables("T_所属") .DisplayMember = "所属名" '.DisplayMember = "TESTFIELD" '2項目連結 .ValueMember = "所属コード" 'これを設定すると、cmd_SCD.SelectedValueで所属コ ードが取得できる End With Catch ex As Exception Throw ex End Try oConn.Close() Catch ex As Exception Trace.WriteLine(ex.StackTrace) Finally If Not IsNothing(oConn) Then oConn.Close() oConn.Dispose() End If End Try End Sub
|