【发布时间】:2012-11-13 14:45:55
【问题描述】:
我正在尝试使用以下 VBA 验证表单字段的输入。这很好用。我的问题是这个 Access 应用程序创建了各种 XML 数据文件,我不希望该 xml 中的某些字符......即软返回(Shift+Enter)。我相信这个 Chr 是 Chr(11),但我认为我不能只将 , Chr(11)) 添加到下面数组的末尾,这将起作用......我如何使用 Chr(# ) 以链接方式?
Dim i, j As Integer
dim myField as variant
varNo = Array("\", "/", ":", "*", "?", """", "<", ">", "|")
If IsNull(Me.FieldValue) = False Then
myField = Me.FieldValue
For i = 0 To UBound(varNo)
j = InStr(1, myField , varNo(i))
If j > 0 Then
MsgBox "Cannot use character:" & Chr(13) & Chr(10) & Chr(13)
& Chr(10) & varNo(i), vbCritical, " Illegal Character"
Exit Sub
Exit For
End If
Next
End If
同样,上述方法非常适合数组中的那些东西,但我也想包括 Chr()。
【问题讨论】:
-
我认为您可能会更好地使用正则表达式并检查您被允许的内容,这似乎只包含字母数字。
-
你可以有另一个数字数组并检查 instr 的 chr(numarray(i))
-
@Remou...我明白了。也许这是要走的路,只是不知道 RegEx 或如何实现这一点,但我很欣赏这个方向。我真的只想允许字母数字字符。
标签: validation vba ms-access chr