我们用窗体录入数据,经常遇到窗体中有几个控件不能为空,有几个控件可以为空的情况,在保存时,要判断不能为空的控件是否为空值,当控件为空时控件获得焦点并提示用户输入数据。为实现这个功能,小的编了个函数,但愿能有所用。当一个系统中数据录入窗体比较多的话,我认为,这个函数就显得有用多了。
小的没有在网上查找是否有类似的东东,如果有的话,我这算是作个补充罢。
Function funIsNull(ByVal frmFm As Form, ByVal strControls As String) As Integer
'提示为空值控件输入数据函数
'功能 提示为应该不能为空的空值控件输入数据
'参数strControls 控件名字符串,控件名以英文逗号“,”分隔开
'作者: wsl
Dim i As Byte
Dim A As Byte
Dim ctl As Control
A = UBound(Split(strControls, ","))
For i = 0 To A
For Each ctl In frmFm.Controls
If IsNull(ctl) And ctl.ControlName = Split(strControls, ",")(i) Then
MsgBox ctl.ControlName & "为空,请输入" & ctl.ControlName & "!", vbExclamation, "提示"
ctl.SetFocus
funIsNull = True
Exit Function
End If
Next ctl
Next i
End Function
调用事例:
Private Sub cmdSave_Click()
If funIsNull(Me, "text2,combo8,list10,Frame12,Frame18,Option27,Check29") Then Exit Sub
MsgBox "保存成功", , "提示"
DoCmd.Close acForm, Me.Name
End Sub
点击下载此附件