2013-05-09 75 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

相關問題