englishReasonsToGoToSecondFloor = "test" & ";" & "exam & pay" & ";" & " possible fake"
所以我的值可能包含& 或(空格)或只包含一个单词。每个项目用“;”
分隔所以最终列表看起来像“测试;考试和支付;可能的假”(真实列表要长得多)
当用户从列表框中选择一个项目时,我想快速将选择与变量中的单词进行比较(如果有更好的比较方法,请告诉我)
rowValue = Trim(listboxTest.Column(1))
englishResult = InStr(1, rowValue, englishReasonsToGoToSecondFloor, CompareMethod.Text)
我可以将鼠标移到rowValue上,我看到有一个值。
rowValue contains "possible fake"
但是englishResult总是0
答案 0 :(得分:2)
不确定Access ..但是Instr方法在Excel VBA中使用搜索字符串之前的主字符串,所以
InStr(1,englishReasonsToGoToSecondFloor, rowValue , CompareMethod.Text)
这应该有用。
答案 1 :(得分:1)
应该如下所示
englishResult = InStr(1, englishReasonsToGoToSecondFloor, rowValue, CompareMethod.Text)
修改强>
Instr函数的语法是
InStr( [Start], String1, String2, [Compare] )
其中,
[Start] - 一个可选的整数参数,表示您要开始搜索的位置。如果省略,[Start]参数将采用默认值1。
String1 - 要搜索的字符串。
String2 - 您要搜索的子字符串。
[Compare] - 一个可选参数,指定要进行的比较类型。 这可以是以下任何值:
vbBinaryCompare - 执行二进制比较
vbTextCompare - 执行文本比较
vbDatabaseCompare - 执行数据库比较
如果省略,[Compare]参数采用默认值vbBinaryCompare。
答案 2 :(得分:-1)
englishResult = InStr(1, rowValue,"test", CompareMethod.Text)
if englishResult=0 then englishResult = InStr(1,rowValue, "exam & pay", CompareMethod.Text)
if englishResult=0 then englishResult = InStr(1, rowValue, " possible fake", rowValue,CompareMethod.Text)