Access-控件解析-组合框-02-两个组合框联动

微信公众号原文

系统:Windows 7
软件:Excel 2010 / Access 2010

  • 这个系列介绍常用的控件
  • 包括在界面端的设置及在代码端的实现

Part 1:本篇目标

  1. 本篇介绍的控件为:组合框。涉及功能为:两个组合框联动

功能动图
1.gif

Part 2:实现功能

  1. 手动设置组合框下拉列表:广东,湖南
  2. 组合框变化时,组合框下拉列表随之变化
  3. 这里组合框有3个事件,都引起组合框下拉列表变化,包括更改键按下进入三个事件。具体哪些事件会触发,根据需要自己制定。一般来说这三种即可

界面
1.png

3类事件
2.png

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

代码截图
3.png

代码位置:将通用代码写在模块内了,方便代码复用
4.png

Part 4:部分代码解读

  1. 虽然本示例中涉及3个事件,但只是触发不一样,但引起的结果是一样的,所以将共用代码写在了模块内
  2. frmName = Me.Name,获取当前窗体名称,该代码必须放在对应的窗体中才有效

本文为原创作品,如需转载,可加小编微信号learningBin


更多精彩,请关注微信公众号
扫描二维码,关注本公众号

公众号底部二维码.jpg

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值