系统: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
更多精彩,请关注微信公众号
扫描二维码,关注本公众号