如何保护文本框中的字符串?

时间:2015-05-29 14:31:46

标签: access-vba

我的文本框名为“txtPrice”有问题。我想从字符串中保护此文本框。如果我们输入一个字符串,它将显示我写的消息。但是,如果我输入,例如“12r”,它什么都不做。

Dim i As Integer
Dim s As Long
i = Asc(txtPrice)
If i < 48 or i> 57 then    'ascii number
     MsgBox "Error"
End If

2 个答案:

答案 0 :(得分:0)

你到底想要什么?在属性下,您可以指定输入掩码。

如果您正在寻找号码,可以尝试If Not IsNumeric(txtPrice)

如果您不想要任何字母,请尝试以下方法:

Dim intPos As Integer

For intPos = 1 To Len(txtPrice)
    Select Case Asc(Mid(txtPrice, intPos, 1))
        Case 65 To 90, 97 To 122
            IsLetter = True
        Case Else
            IsLetter = False
    End Select
    If IsLetter Then Exit For
Next intPos

If IsLetter Then
    MsgBox "Error"
End If

答案 1 :(得分:0)

您也可以使用验证规则在文本框字段的属性中执行此操作:

https://support.office.com/en-gb/article/Restrict-data-input-by-using-validation-rules-b91c6b15-bcd3-42c1-90bf-e3a0272e988d

您可以通过这种方式限制数据输入。例如,您可以在验证规则属性中输入&gt; = 0,然后输入&#34;请仅输入数字&#34;在验证文本属性中。我使用了两种方法(vba作为上一个答案)和访问验证规则,两者都运行良好。