Ms Access 简明教程

MS Access - Wildcards

通配符是特殊字符,可以在文本值中代表未知字符,并且非常适合于查找具有相似但不相同数据的多个项目。通配符还可以帮助根据特定模式匹配获取数据库。

Access 支持两组通配符,因为它支持两种结构化查询语言标准。

  1. ANSI-89

  2. ANSI-92

一般来说,在对 Access 数据库(例如 .mdb.accdb 文件)运行 queriesfind-and-replace 操作时,您使用 ANSI-89 通配符。

在对 Access 项目(连接到 Microsoft SQL Server 数据库的 Access 文件)运行查询时,您使用 ANSI-92 通配符。Access 项目使用 ANSI-92 标准,因为 SQL Server 使用该标准。

ANSI-89 Wildcard Characters

下表列出了 ANSI-89 支持的字符 -

Character

Description

Example

*

匹配任意数量的字符。您可以在字符字符串中的任何位置使用星号 (*)。

wh * 查找 what、white 和 why,但不查找 awhile 或 watch。

?

匹配任何单个字母字符。

B?ll 查找 ball、bell 和 bill。

[ ]

匹配方括号内的任何单个字符。

B[ae]ll 查找 ball 和 bell,但不查找 bill。

!

匹配方括号中没有的任何字符。

b[!ae]ll 查找 bill 和 bull,但不查找 ball 或 bell。

-

匹配一系列字符中的任何一个字符。您必须按升序指定范围(从 A 到 Z,而不是从 Z 到 A)。

b[a-c]d 查找 bad、bbd 和 bcd。

#

匹配任意单个数字字符。

1#3S 查找 103、113 和 123。

ANSI-92 wildcard characters

下表列出了 ANSI-92 支持的字符 -

Character

Description

Example

%

匹配任意数量的字符。它可以用作字符字符串中的第一个或最后一个字符。

wh% 查找 what、white 和 why,但不查找 awhile 或 watch。

_

匹配任何单个字母字符。

B_ll 查找 ball、bell 和 bill。

[ ]

匹配方括号内的任何单个字符。

B[ae]ll 查找 ball 和 bell,但不查找 bill。

^

匹配方括号中没有的任何字符。

b[^ae]ll 查找 bill 和 bull,但不查找 ball 或 bell。

-

匹配一系列字符中的任何一个字符。您必须按升序指定范围(从 A 到 Z,而不是从 Z 到 A)。

b[a-c]d 查找 bad、bbd 和 bcd。

Example

现在,让我们通过打开查询设计来了解使用这些通配符的简单示例。

添加高亮的表并关闭 Show Table 对话框。

paste errors

在查询网格中添加想要作为查询结果查看的字段。

add query grid

运行查询。

run query project

让我们再次转到 query design 并添加项目名称提示符。

query2

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

potion

上述步骤不会生成任何结果。这是因为 Access 正在 project name field 中寻找完全匹配。它正在寻找名称中包含单词 potion 的项目。

如果你想要让用户输入通配符来替换未知字符,那么你需要调整条件并包括运算符 like

like operator

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

number of characters

让我们假设你知道单词 potion 出现在标题中的某处,但你无法确定具体位置。

你可以在 potion 前添加一个 * 来替换任意数量的字符,然后在后面再添加一个 。单击 *Ok

add potion
potion scroll

用户了解他们可以输入哪些通配符总是有益的。但有些用户可能不知道他们可以和不可以输入哪些通配符。在这种情况下,你可以自己输入通配符。

在这种情况下,我们可以在 Like 运算符和我们的参数提示符之间添加这些通配符,现在我们必须用一种非常明确的方式来编写它。在带引号的 like 词后,输入我们正在使用的通配符。在这种情况下,我们使用了“ ” to replace any number of characters. We will now add this to the parameter. To do so, we need ampersand *(&) 符号和一个空格。现在,我们将重复此操作,并添加另一个和号 (&),因为我们正在将该通配符连接到用户为该项目名称输入的任何条件,然后在引号中输入“*”。

like enter name

我们现在重新运行查询。在提示中输入单词 potion ,不使用通配符。

potion

该查询现在将在此处输入内容的任一侧跟踪这些通配符。我们需要直接输入药剂并按 Enter。

potion scroll

我们现在得到了我们想要的结果,无论用户输入什么,结果都将相同。

让我们假设我们要查找标题中包含单词“the”的每个项目。然后,您只需要输入该单词和 Enter 或单击 Ok

the parameter
mother word

使用此查询,可以更容易地搜索名称中包含单词“the”的项目。第 2 级结果可能还包含单词“the”是其中一部分的单词“mother”的项目名称。