我是Access新手,试图使用Instr从文本字符串中选择数字数据。
Instr ( [start], string_being_searched, string2, [compare] )
[start] defaults to 1
string_being_searched is [Source Key]
string2 is a number, decimal and number between 0.0 and 9.9
[compare] is optional and I do not think it applies here
我的问题是string2,当我使用
时,它会在每次出现时返回0 Expr1: InStr([Source Key],'#.#') or, with double quotes
Expr1: InStr([Source Key],"#.#")
如果我指定一个值,例如1.4或3.2,或者甚至是文本值,例如QJX(甚至不是数字),它将返回指定的值,但是我需要它来选择两个带有小数点的数字。
请帮助我,因为我真的被卡住了。
由于
答案 0 :(得分:1)
您可能需要VBA,具体取决于要发生的事情和字符串的结构。
你可以说:
If aString Like "*[0-9].[0-9]*"
和
Instr(aString,".")
但是你不能在InStr中使用通配符。
如果文字在数字后面,您可能会忘记Val(aString)
:
aString="12.3 lbs"
Val(aString) '' 12.3
或
Mid(aString,Instr(aString,".")-1,3)
否则,您需要考虑拆分或在函数中逐个字符循环字符串。