系統:Windows 7
軟件:Excel 2010 / Access 2010
- 這個系列介紹常用的控件
- 包括在界面端的設置及在代碼端的實現
Part 1:本篇目標
- 本篇介紹的控件爲:組合框。涉及功能爲:兩個組合框聯動
功能動圖
Part 2:實現功能
- 手動設置省組合框下拉列表:廣東,湖南
- 省組合框變化時,市組合框下拉列表隨之變化
- 這裏省組合框有3個事件,都引起市組合框下拉列表變化,包括更改,鍵按下,進入三個事件。具體哪些事件會觸發,根據需要自己制定。一般來說這三種即可
界面
3類事件
Part 3:代碼
事件代碼
Private Sub cbo1_Change()
frmName = Me.Name
Call sMod_通用庫_01_零件名稱下拉列表(frmName)
End Sub
Private Sub cbo1_Enter()
frmName = Me.Name
Call sMod_通用庫_01_零件名稱下拉列表(frmName)
End Sub
Private Sub cbo1_KeyDown(KeyCode As Integer, Shift As Integer)
frmName = Me.Name
Call sMod_通用庫_01_零件名稱下拉列表(frmName)
End Sub
實際動作
Sub sMod_通用庫_01_零件名稱下拉列表(frmName)
Dim ctrl
Dim frm
Dim ctrlName
Set frm = Forms(frmName)
Set ctrl = frm.Controls("cbo1")
sheng = ctrl.Value
ctrlName = "cbo2"
Set cbo = frm.Controls(ctrlName)
If sheng = "廣東" Then
cbo.RowSource = ""
cbo.Value = ""
arr = Array("廣州", "深圳", "東莞", "佛山")
For Each x In arr
cbo.AddItem x
Next
ElseIf sheng = "湖南" Then
cbo.RowSource = ""
cbo.Value = ""
arr = Array("長沙", "湘潭", "株洲", "郴州")
For Each x In arr
cbo.AddItem x
Next
End If
End Sub
代碼截圖
代碼位置:將通用代碼寫在模塊內了,方便代碼複用
Part 4:部分代碼解讀
- 雖然本示例中涉及3個事件,但只是觸發不一樣,但引起的結果是一樣的,所以將共用代碼寫在了模塊內
frmName = Me.Name
,獲取當前窗體名稱,該代碼必須放在對應的窗體中才有效
本文爲原創作品,如需轉載,可加小編微信號learningBin
更多精彩,請關注微信公衆號
掃描二維碼,關注本公衆號