フォーム内操作

Access VBA フォーム コンボボックスの作成

フォーム コンボボックスの作成

フォーム内にコンボボックス「コンボ3」(非連結)を作成しておきます。
フォームのLoadイベントに以下のプログラムを記述します。

プログラムの例

Private Sub Form_Load()

Dim CN As ADODB.Connection
Dim RS As ADODB.Recordset

Set CN = CurrentProject.Connection
Set RS = New ADODB.Recordset

Me.コンボ3.ColumnCount = 3                                ‘*1
Me.コンボ3.ColumnWidths = “3.0cm;3.0cm;3.0cm”   ‘*2
Me.コンボ3.RowSource = “社員コード;名前;性別”     ‘*3
Me.コンボ3.RowSourceType = “値リスト”                ‘4

RS.Open “T_社員マスタ2013”, CN, adOpenStatic, adLockOptimistic    ‘*5

Do Until RS.EOF       ‘*6

Me.コンボ3.RowSource = Me.コンボ3.RowSource & “;” & RS!社員コード & “;” & RS!名前 & “;” & RS!性別     ‘*7

RS.MoveNext
Loop

RS.Close: Set RS = Nothing
CN.Close: Set CN = Nothing

End Sub

プログラムの説明

*1 コンボボックスの列数を設定します(3列)。

*2 コンボボックスの列幅を設定します(各3cm)。

*3 コンボボックスの列見出しを設定します。

*4 コンボボックスの値集合タイプを設定します。

*5 テーブル「T_社員マスタ2013」を開きます。

*6 Do Loop処理を使用します。

*7 コンボボックスの値集合ソースを設定します(開いたテーブルのデータ)。

↓フォームのデザインビューの状態です。

cbox01

↓フォームを開くとコンボボックスにデータが表示されます。

cbox02

VBAで記述すれば、同じコンボボックスを使用して中身のデータを入れ替えることも出来ます。

こちらの記事もおすすめ!