Office中国论坛/Access中国论坛

标题: 请教如何判断某字段中有无英文字母?(已解决) [打印本页]

作者: sxgaobo    时间: 2012-1-15 22:33
标题: 请教如何判断某字段中有无英文字母?(已解决)
本帖最后由 sxgaobo 于 2012-1-16 22:58 编辑

同题!字段中有的数据是纯数字,有的里面包含字母,如9000898765或CLHS9087654334-2......等,
作者: Henry D. Sy    时间: 2012-1-15 22:38
try
asc函数
作者: Henry D. Sy    时间: 2012-1-15 23:56
  1. Public Function IsLetterExist(strFld As String) As Boolean
  2.     Dim bln As Boolean
  3.     Dim i As Integer, j As Integer
  4.     Dim intCode As Integer
  5.     On Error GoTo IsLetterExist_Error

  6.     bln = False
  7.     If Not IsNull(strFld) Then
  8.         i = Len(strFld)
  9.         For j = 1 To i
  10.             intCode = Asc(UCase(Mid(strFld, j, 1)))
  11.             If 64 < intCode And intCode < 91 Then
  12.                 bln = True
  13.                 Exit For
  14.             End If
  15.         Next
  16.     End If
  17.     IsLetterExist = bln

  18.     On Error GoTo 0
  19.     Exit Function

  20. IsLetterExist_Error:

  21.     MsgBox "Error " & Err.Number & " (" & Err.Description & ") "
  22. End Function
复制代码

作者: roych    时间: 2012-1-16 10:37
Henry D. Sy 发表于 2012-1-15 23:56

太复杂了。用正则表达式或许会简单些:

Sub test()
'引用Microsoft VBScript Regular Expressions 5.5
Dim rexp As New RegExp
Dim str As String
rexp.Pattern = "[a-z]"
rexp.IgnoreCase = True
str = "123"
Debug.Print rexp.test(str)
End Sub
作者: Henry D. Sy    时间: 2012-1-16 10:47
roych 发表于 2012-1-16 10:37
太复杂了。用正则表达式或许会简单些:

Sub test()

呵呵,是的
谢谢提醒!
作者: t小宝    时间: 2012-1-16 11:02
这样更简单:
SELECT 字段名 FROM 表名 WHERE 字段名 Like "*[a-z]*"

作者: Henry D. Sy    时间: 2012-1-16 11:39
t小宝 发表于 2012-1-16 11:02
这样更简单:
SELECT 字段名 FROM 表名 WHERE 字段名 Like "*[a-z]*"


作者: 风中漫步    时间: 2012-1-16 14:36
宝版的这个不错
不知用isnumeric行吧
作者: Henry D. Sy    时间: 2012-1-16 22:37
风中漫步 发表于 2012-1-16 14:36
宝版的这个不错
不知用isnumeric行吧

如果按楼主的描述的情况应该也可以!
作者: sxgaobo    时间: 2012-1-16 22:56
{:soso_e179:}一帮高人啊!!!{:soso_e183:}
作者: wufeng980114    时间: 2012-8-28 20:41
路过,学习了




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3