我正在使用Microsoft Access 2010,我有一个表和列[tblData]![Associate Name],其格式类似于Smith,John(123456)。显然,这显示了姓氏,名字和员工ID号码(可以在5到6位数之间变化)。我的问题是我需要从这个字符串中提取员工ID号,而我正在努力使用Left
,Right
,Mid
和InStr
的正确组合功能。
答案 0 :(得分:4)
使用InStr()
查找(
字符的位置。
接下来使用Mid()
提取从(
然后Val()
将从剩余的数字中给出一个数字;它忽略了最后一位数后的任何内容。
如果您希望将结果作为字符串而不是数字,则可以使用CStr()
进行转换。
以下是立即窗口中的示例:
Associate_Name = "Smith, John (123456)"
? InStr(1, Associate_Name, "(")
13
? Mid(Associate_Name, InStr(1, Associate_Name, "("))
(123456)
? Mid(Associate_Name, InStr(1, Associate_Name, "(") + 1)
123456)
? Val(Mid(Associate_Name, InStr(1, Associate_Name, "(") + 1))
123456
? CStr(Val(Mid(Associate_Name, InStr(1, Associate_Name, "(") + 1)))
123456