一、源代码
Public Function fldNeed(frmName As String) As Boolean
'功能说明:我们开发的软件在实际应用中,有些字段是必须输入的.而用户可能会因为操作上的原因,发生漏输入的现象
' 这个函数可以控制用户必须输入合法数据.
'使用说明:首先需要在窗体必输控件的"控件提示文本"属性中填入"必填字段",FrmName 参数是当前操作的窗体名称.
'作者: 参考中国人提供的源代码,修改.
'日期:2007-10-13
On Error GoTo Ziduantf_err
Dim Ctl As Control
For Each Ctl In Forms(frmName).Controls '应用中可更改对应的窗体名
If Ctl.ControlType = acComboBox or Ctl.ControlType = acTextBox or Ctl.ControlType = acCheckBox Then
If Ctl.ControlTipText = "必填字段" And IsNull(Ctl) = True Then
fldNeed = False
Ctl.SetFocus
MsgBox "请输入" & Ctl.Name & "", 64, "系统提示"
Exit For
Else
fldNeed = True
End If
End If
Next
Ziduantf_exit:
Exit Function
Ziduantf_err:
Resume Next
End Function
二、应用示例
在UMV平台的修改窗体中的关闭事件中写下如下代码,即可实现必填字段的录入效果:
Private Sub ToolbarFrm_ButtonClick(ByVal Button As Object)
'必填项提示
If fldNeed("frmdbd_child_Edit") = False Then
Exit Sub
End If
'刷新当前窗体内容
Me.Refresh
DoCmd.Echo False
Forms!usysfrmMain!frmChild.SourceObject = "frmdbd_child"
DoCmd.Echo True
Forms!usysfrmMain!frmChild.Form.TimerInterval = 300
'关闭窗体
DoCmd.Close acForm, "frmdbd_child_Edit"
End Sub
三、二点提示
1、由于在修改窗体中的字段名不是中文,所以提示信息出现的是字母,你可以取中文名字,来取得好的效果。
2、在UMV平台中的新增窗体中,也可以考虑引用这种方法。
3、如果窗体视图是数据表样式,则会出现错误提示,此功能等完善。