通配符是可以在文本值中代表未知字符的特殊字符,可用于查找具有相似但不相同数据的多个项目。通配符还可以帮助在指定的模式匹配上获取数据库。
Access支持两组通配符,因为它支持两种结构化查询语言标准。
- ANSI-89
- ANSI-92
通常,在对Access数据库(例如* .mdb和* .accdb文件)运行查询和查找替换操作时,您可以使用ANSI-89通配符。
对Access项目运行查询时使用ANSI-92通配符 - 访问连接到Microsoft sql Server数据库的文件。访问项目使用ANSI-92标准,因为SQL Server使用该标准。
ANSI-89通配符
下表列出了ANSI-89支持的字符 -
字符 | 描述 | 例子 |
---|---|---|
* | 匹配任意数量的字符。您可以在字符串中的任意位置使用星号(*)。 | WH *查找什么,白,为什么,而不是一段时间或观看。 |
? | 匹配任何单个字母字符。 | B'll可以找到球,贝尔和法案。 |
[] | 匹配括号内的任意单个字符。 | B〔自动曝光] ll可以找到ball和bell,但并不法案。 |
! | 匹配不在括号中的任何字符。 | B〔!AE] ll可以找到bill和bull,而不是球或钟。 |
- | 匹配字符范围中的任何一个。您必须以升序(A到Z,而不是Z到A)指定范围。 | B〔AC] d可以找到不错,BBD,和BCD。 |
# | 匹配任何单个数字字符。 | 1#3S认定103,113和123。 |
ANSI-92通配符
下表列出了由ANSI-92支持的字符 -
字符 | 描述 | 例 |
---|---|---|
% | 匹配任意数量的字符。它可以用作字符串中的第一个或最后一个字符。 | WH%找到什么,白,为什么,而不是一段时间或观看。 |
_ | 匹配任何单个字母字符。 | B_ll发现球,贝尔和法案。 |
[] | 匹配括号内的任意单个字符。 | B〔自动曝光] ll可以找到ball和bell,但并不法案。 |
^ | 匹配不在括号中的任何字符。 | B〔^ AE] ll可以找到bill和bull,而不是球或钟。 |
- | 匹配字符范围中的任何一个。您必须以升序(A到Z,而不是Z到A)指定范围。 | B〔AC] d可以找到不错,BBD,和BCD。 |
例子
让我们看一个简单的例子,通过打开查询设计使用这些通配符。
添加高亮显示的表,然后关闭显示表对话框。

将查询网格中的字段添加到您想查看的查询结果中.。

运行查询。

让我们再次去查询设计并添加项目名称的提示。

现在运行你的查询,让我们假设你不知道确切的项目名称,但你知道项目名称包含单词“potion”。单击“Yes”。

上述步骤不生成任何结果。这是因为Access在项目名称字段中查找完全匹配。它正在寻找那个在其名称中有词语potion的项目。
如果希望用户可以输入通配符以替换未知字符,则需要调整条件并包括运算符。

当您运行查询,用户可以使用通配符替换任意数量的字符。

让我们假设你知道词potion出现在标题的某个地方,但你不完全确定在哪里。
您可以添加*来替换词语potion之前的任意数量的字符,然后添加另一个*。单击OK。


它总是有益于用户知道他们可以进入的通配符。但有些用户可能不知道他们可以和不能进入的通配符。在这种情况下,您可以自己输入通配符。
在这种情况下,在Like运算符和我们的参数提示之间,我们可以添加这些通配符,现在有一个非常具体的方式,我们必须写这个。在单词之后加上引号,输入我们正在使用的通配符。在这种情况下,我们使用“*”替换任意数量的字符。我们现在将这个添加到参数。为此,我们需要&符号和一个空格。我们现在将重复此步骤,并添加另一个&符号,因为我们加入该通配符,以便用户为该项目名称输入任何条件,然后在引号中使用“*”。

让我们再次运行我们的查询。在提示中输入单词potion,不带任何通配符。

查询现在将跟踪在这里输入的任何一边的通配符。我们需要简单的输入药水,然后按Enter。

现在,我们得到了我们正在寻找的结果,其结果将是相同的,无论用户输入什么。
比如,我们想找到每个项目的标题中的“the”。然后,您只需键入单词和Enter或单击OK。


使用此查询,可以更容易搜索名称中带有“the”字样的项目。第二级结果还可以包括项目名称与单词“mother”,其中“the”是单词的一部分。