需要帮助Access 2000中的Instr语法。尝试在文本字符串中查找值0.0到9.9。

时间:2013-03-20 18:05:27

标签: ms-access

我是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(甚至不是数字),它将返回指定的值,但是我需要它来选择两个带有小数点的数字。

请帮助我,因为我真的被卡住了。

由于

1 个答案:

答案 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)

否则,您需要考虑拆分或在函数中逐个字符循环字符串。