检查字段是否包含任何数字?

时间:2013-05-09 21:50:27

标签: forms validation vba ms-access

您好我正在尝试编写一些VBA,以便检查我的某个文本框是否包含数字。文本框名为:CustomerName。这是我目前使用的代码:

Function HasNumber(strData As String) As Boolean
    Dim iCnt As Integer

    For iCnt = 1 To Len(strData)
        If IsNumeric(Mid(strData, iCnt, 1)) Then
            HasNumber = True
            Exit Function
        End If
    Next iCnt

End Function

Private Sub CustomerName_AfterUpdate()
If HasNumber(CustomerName) Then
    MsgBox "Only letters are allowed for this field."
    Exit Sub
End If

End Sub

出于某种原因,当我在此字段中输入数字然后单击它(即更新它)时,它没有提供msgbox或任何其他内容。我该怎么做才能解决这个问题?

2 个答案:

答案 0 :(得分:3)

我会在您的表的CustomerName列或文本框的验证规则上使用此验证规则,而不是使用某些自定义代码:

Not Like "*[0-9]*"

请参阅此处以获取validation rules的参考。

答案 1 :(得分:0)

试试这样:

If HasNumber(CustomerName.Text) Then