Sql Ms Access选择器在查询中读取为字符串
我想在Ms.Access表单中使用通配符搜索查询。但是如果我将选择器放在引号中,它将是一个字符串,而不是选择器。Sql Ms Access选择器在查询中读取为字符串,sql,ms-access,ms-access-2013,Sql,Ms Access,Ms Access 2013,我想在Ms.Access表单中使用通配符搜索查询。但是如果我将选择器放在引号中,它将是一个字符串,而不是选择器。 我的选择器是[Forms]![我的表格]![txtsearch] 这是我的查询,未使用通配符和引号: SELECT * FROM MyTable WHERE RefName LIKE [Forms]![MyForm]![txtsearch] 上述查询工作正常,因为选择器不是字符串。 但如果我运行此查询: SELECT * FROM MyTable WHERE RefName LIK
我的选择器是
[Forms]![我的表格]![txtsearch]
这是我的查询,未使用通配符和引号:
SELECT * FROM MyTable WHERE RefName LIKE [Forms]![MyForm]![txtsearch]
上述查询工作正常,因为选择器不是字符串。但如果我运行此查询:
SELECT * FROM MyTable WHERE RefName LIKE "*[Forms]![MyForm]![txtsearch]*"
它将不返回任何内容,因为选择器是字符串如何在引号或通配符中使用选择器?不幸的是,MS Access要求模式为常量(“文本”),因此无法执行以下操作:
WHERE RefName LIKE "*" & [Forms]![MyForm]![txtsearch] & "*"
其他数据库中也允许使用此(或等效)构造
相反,您可以使用instr()
:
MS Access中允许该构造。
WHERE instr(RefName, [Forms]![MyForm]![txtsearch]) > 0