Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql Ms Access选择器在查询中读取为字符串_Sql_Ms Access_Ms Access 2013 - Fatal编程技术网

Sql 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

我想在Ms.Access表单中使用通配符搜索查询。但是如果我将选择器放在引号中,它将是一个字符串,而不是选择器。
我的选择器是
[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