Ms Access Selector 在查询中读取为字符串

Ms Access Selector read as string in the query

我想在 Ms. Access 表单中使用通配符搜索查询。但是,如果我将选择器放在引号内,它将是一个字符串,而不是选择器。
我的选择器是 [Forms]![MyForm]![txtsearch]
这是我未使用通配符和引号的查询:

SELECT * FROM MyTable WHERE RefName LIKE [Forms]![MyForm]![txtsearch]

上面的查询工作正常,因为选择器不是字符串。
但是如果我 运行 这个查询:

SELECT * FROM MyTable WHERE RefName LIKE "*[Forms]![MyForm]![txtsearch]*"

它 return 没什么,因为选择器是一个字符串
如何在引号或通配符内使用选择器?

不幸的是,MS Access 要求模式是常量 ("literal"),因此您不能:

 WHERE RefName LIKE "*" & [Forms]![MyForm]![txtsearch] & "*"

这个(或等效的)构造将被允许在其他数据库中使用。

相反,您可以使用 instr():

WHERE instr(RefName, [Forms]![MyForm]![txtsearch]) > 0