Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > 源码示例

【access源码示例】通用必填项检查函数及友好提示功能实现示例

时 间:2012-06-16 14:51:31
作 者:红尘如烟   ID:10768  城市:成都
摘 要:数据录入编辑是基于数据库的系统中最常用到的功能,本示例中就其中用到的2项技术或技术进行演示。
难度级别:中
阅读要求:要求有一定VBA编程基础,懂得简单的代码运用。
正 文:

难度级别:中
阅读要求:要求有一定VBA编程基础,懂得简单的代码运用。

数据录入编辑是基于数据库的系统中最常用到的功能,本示例中就其中用到的2项技术或技术进行演示。

示例要点:
1. 通用必填项检查函数。
有不少人在保存数据前检查必填项是否为空时,都会将每个必填项写上下面这样的代码:

If IsNull(Me.客户编码) Then
    MsgBox "客户编码为必填项,不允许为空。", vbExclamation, "提示"
    Me.客户编码.SetFocus
    Exit Sub
End If

If IsNull(Me.客户名称) Then
    MsgBox "客户名称为必填项,不允许为空。", vbExclamation, "提示"
    Me.客户名称.SetFocus
    Exit Sub
End If



 
  这样的做法的不足之处在于,如果必填项比较多,这样的代码就要写很多,并且每个录入编辑窗体都需要写上一堆这样的代码。这样代码既不够简洁,设计、修改、维护都不方便,比较麻烦。而实际上从上面的代码我们可以看出,其实除了控件名称之外,其它的完全都一样。因此我们完全可以将其提炼做成一个通过的函数。

  示例中提供的CheckRequired函数即是实现这一目的,并完成一些相应的细节完善。能实现的功能大概有:
1)该函数会检查所有进行了标记的控件,判断是否为空(包括空值Null和空字符串””均视为空),能够自动将焦点定位到为空的控件,如果是组合框还会自动展开下拉列表;

2)根据输入控件的绑定标签标题,取得提示给用户的名称,并会自动去除标签标题后面的冒号、前后的星号(如果有的话),以应对控件名和需要提示给用户的名称不一致的情况,使提示信息更加友好;

3)如果控件不可见或不可用,检查时会自动忽略,如果控件属于选项卡,而选项卡或选项卡页不可见或不可用,检查时也会自动忽略,以应对一些业务数据逻辑相对复杂的情况。

注意,使用时需要对要验证的输入控件设置标记,默认为,当然也可以设为其它任意标记,如 <必填项> 。不过使用默认标记时,函数调用可以写为:
 
=CheckRequired(Me) '完整写法为 =CheckRequired(Me, "Required")


而使用其它非默认标记时,必须采用完整写法,第2个参数不能忽略,如:
=CheckRequired(Me, "<必填项>")





*当然如果有什么无法正确处理的情况,欢迎大家向我提出以便进行改进,给更多的人提供方便。

2. 用标签代替MsgBox消息框。
将消息在标签控件中显示,并发出和MsgBox相同的声音反馈来代替MsgBox消息框,这样避免强制用户进行确认,实现更友好的用户体验。



附   件:

点击下载此附件



Access软件网QQ交流群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助