2013-05-09 93 views
2

嗨我想写一些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或任何东西。我能做些什么来解决这个问题?

回答

0

试试这样说:

If HasNumber(CustomerName.Text) Then 
3

而不是使用一些自定义的代码,我会用你的桌子上的CustomerName列,这个验证规则,或在你的文本框的验证规则:

Not Like "*[0-9]*" 

请参阅这里参考validation rules

相关问题