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
我想在 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