Access-培训管理系统-09-按钮代码设置之 录入(1)

微信公众号原文

系统: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

培训课程信息检查
3.png

动态过程
1.gif

Part 2:代码

窗体内代码

Private Sub 录入_Click()
    Dim arr
    Dim listboxName
    Dim frmName
    frmName = fFrm_pxsr_01_当前窗体名称

    arr = Array("培训课程名称", "培训开始时间", "培训多少小时", "培训老师")
    listboxName = "学员列表框"

    Call sMod_sr_06_录入信息检查(frmName, arr, listboxName)
    MsgBox "信息填写完毕"
End Sub

代码截图
4.png

模块内代码分成两部分:组成框/文本框的检查采用通用函数检查;列表框单独检查

模块内代码

Sub sMod_sr_06_录入信息检查(frmName, arr, listboxName)
    Rem>>
    Rem>>
    Dim check
    Dim strAnswer
    Dim frm
    Dim ctrl
    Dim existsRow

    check = fMod_tyk_02_是否全部填写检查(frmName, arr)
    If check = False Then
        strAnswer = MsgBox("培训课程信息不全,请填写完整", vbCritical, "提示")
        End
    End If

    Set frm = Forms(frmName)
    Set ctrl = frm.Controls(listboxName)
    existsRow = ctrl.ListCount

    If existsRow < 2 Then
        strAnswer = MsgBox("无培训参加人员信息,请填写", vbCritical)
        End
    End If

End Sub

代码截图
5.png

Function fMod_tyk_02_是否全部填写检查(frmName, arr)
    Rem>>检查所有控件是否都填写了信息
    Rem>>全部填写返回True,否则反馈False
    Dim frm
    Dim ctrlName
    Dim ctrl
    Dim ctrlValue

    fMod_tyk_02_是否全部填写检查 = True
    Set frm = Forms(frmName)

    For Each ctrlName In arr
        Set ctrl = frm.Controls(ctrlName)
        ctrlValue = ctrl.Value

        If ctrlValue = "" Or IsNull(ctrlValue) Then
            fMod_tyk_02_是否全部填写检查 = False
        End If

    Next

End Function

6.png

Part 3:部分代码解读

  1. existsRow = ctrl.ListCount,获取列表框行,考虑到列标题,采用与2对比,判断是否有学员信息
  2. For Each ctrlName In arr,对于数组也可以采用这种方法遍历

7.png

Part 4:用户窗体名称的获取

  1. 之前有读者问frmName = fFrm_pxsr_01_当前窗体名称这句话对应的函数是什么
  2. 把下面这段代码放在对应窗体中即可
Function fFrm_pxsr_01_当前窗体名称()
    Rem>>获取当前窗体名称
    Rem>>

    fFrm_pxsr_01_当前窗体名称 = Me.Name

End Function

8.png

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

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

公众号底部二维码.jpg

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值