【access源码示例】通用必填项检查函数及友好提示功能实现示例-红尘如烟
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> 源码示例


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

发表时间:2012/6/16 14:51:31 评论(11) 浏览(63188)  评论 | 加入收藏 | 复制
   
摘 要:数据录入编辑是基于数据库的系统中最常用到的功能,本示例中就其中用到的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群(群号:198465573)
 
 相关文章
提供一个字段必填项函数  【aodou51899  2009/2/2】
检查子窗体必填项函数  【金宇  2013/3/18】
【Access字段】用代码更改字段必填项,用代码修改表中字段必需项...  【红尘如烟  2014/1/8】
常见问答
技术分类
相关资源
文章搜索
关于作者

红尘如烟

文章分类

文章存档

友情链接