Access-培训管理系统-04-清空界面及下拉列表实现(上篇)

微信公众号原文

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

  • 这个系列开展一个新的篇章,主体使用Access,包括数据库部分及界面部分,当然输出部分也会涉及到ExcelExcel的可读性还是比较好的
  • 本公众号的不同阶段:Excel -> Excel + Access -> Access。但并不表示Access就一定比Excel好啊,各有所长吧,合适才是最好的
  • 主体框架:换一种讲解方式,以项目为基础,从开始到结束
  • 项目名称:培训管理系统
  • 主要功能:两个界面。界面1,培训时录入信息;界面2,以培训老师和培训学员为客户,输出信息
  • 涉及知识:Access界面,数据库知识,VBA,SQL,Excel

Part 1:本篇目标

  1. 之前介绍了界面及数据库部分
  2. 今天介绍一个小功能:清空界面及下拉列表实现
  3. 不同的界面一般都会用一些重复的功能,例如下拉列表框。在写代码的时候,我们需先全盘考虑,同样的功能尽量使用同一段代码,减少在不同的地方重复写同样的代码,减少后期更改成本。

1.png

Part 2:代码整体逻辑建立

  1. 根据系统实现的功能,将代码分成两大块:
    • 窗体内代码:主要作用,事件触发
    • 模块内代码:根据功能,先分为5个部分,分别为 首页 / 输入 / 输出 / 通用库 / 地址
  2. 各模块介绍
    • 首页 / 输入 / 输出 模块分别对应以后的3个主界面;
    • 通用库放置通用代码
    • 地址主要是存放数据库地址的代码。如果你的系统是给客户使用,那么就存在个人调试版和实际使用版本区别,调试的时候只需要复制数据库地址到其它地方,更改这个模块的地址,不会影响到客户的使用

代码分布
2.png

Part 3:培训输入窗体初始化

  1. 打开“培训输入”窗体,希望触发两个动作
    • 清空当前界面:文本框 / 组合框 / 列表框 内的内容
    • 列表框增加下拉列表
  2. 清空当前界面
Sub sMod_tyk_01_清空当前界面(frmName)
    Rem>>清空当前界面中 acTextBox / acComboBox / acListBox 控件中的内容
    Rem>>清空 acComboBox 下拉列表
    Dim frm
    Dim ctrl
    Dim ctrlType

    Set frm = Forms(frmName)
    For Each ctrl In frm.Controls
        ctrlType = ctrl.ControlType
        If ctrlType = acTextBox Then
            ctrl.Value = ""
        ElseIf ctrlType = acListBox Then
            ctrl.RowSource = ""
        ElseIf ctrlType = acComboBox Then  '清空下拉列表,清空值
            ctrl.RowSource = ""
            ctrl.Value = ""
        End If
    Next

End Sub

代码截图
3.png

Part 4:部分代码解读

  1. Set frm = Forms(frmName)获取窗体对象
  2. For Each ctrl In frm.Controls窗体内控件遍历,其实有点像Excel中的遍历工作表之类
  3. ctrlType = ctrl.ControlType获取控件类型
  4. 常用控件类型
    • acTextBox 文本框
    • acComboBox 组合框
    • acListBox 列表框
    • acCommandButton 命令按钮控件
    • acLabel 标签控件

官方文件
4.png

  • 接下来就是下拉列表实现了,今天就讲到这里了,且听下回分解
  • 因为这系列,是一边写程序,一边写文章,所以后期存在对先前发表的文章进行更改
  • 有的时候做一个系统就是这样,会返回去改动,所以说前期想的越周到,返工的可能性就越低

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

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

公众号底部二维码.jpg

猜你喜欢

转载自blog.csdn.net/fourseasonbeans/article/details/79630073