Ms Access 简明教程
MS Access - Wildcards
通配符是特殊字符,可以在文本值中代表未知字符,并且非常适合于查找具有相似但不相同数据的多个项目。通配符还可以帮助根据特定模式匹配获取数据库。
Access 支持两组通配符,因为它支持两种结构化查询语言标准。
-
ANSI-89
-
ANSI-92
一般来说,在对 Access 数据库(例如 .mdb 和 .accdb 文件)运行 queries 和 find-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 对话框。
在查询网格中添加想要作为查询结果查看的字段。
运行查询。
让我们再次转到 query design 并添加项目名称提示符。
现在运行查询,让我们假设你不知道确切的项目名称,但你知道项目名称包含单词“potion”。单击 Ok 。
上述步骤不会生成任何结果。这是因为 Access 正在 project name field 中寻找完全匹配。它正在寻找名称中包含单词 potion 的项目。
如果你想要让用户输入通配符来替换未知字符,那么你需要调整条件并包括运算符 like 。
运行查询时,用户可以使用通配符替换任意数量的字符。
让我们假设你知道单词 potion 出现在标题中的某处,但你无法确定具体位置。
你可以在 potion 前添加一个 * 来替换任意数量的字符,然后在后面再添加一个 。单击 *Ok 。
用户了解他们可以输入哪些通配符总是有益的。但有些用户可能不知道他们可以和不可以输入哪些通配符。在这种情况下,你可以自己输入通配符。
在这种情况下,我们可以在 Like 运算符和我们的参数提示符之间添加这些通配符,现在我们必须用一种非常明确的方式来编写它。在带引号的 like 词后,输入我们正在使用的通配符。在这种情况下,我们使用了“ ” to replace any number of characters. We will now add this to the parameter. To do so, we need ampersand *(&) 符号和一个空格。现在,我们将重复此操作,并添加另一个和号 (&),因为我们正在将该通配符连接到用户为该项目名称输入的任何条件,然后在引号中输入“*”。
我们现在重新运行查询。在提示中输入单词 potion ,不使用通配符。
该查询现在将在此处输入内容的任一侧跟踪这些通配符。我们需要直接输入药剂并按 Enter。
我们现在得到了我们想要的结果,无论用户输入什么,结果都将相同。
让我们假设我们要查找标题中包含单词“the”的每个项目。然后,您只需要输入该单词和 Enter 或单击 Ok 。
使用此查询,可以更容易地搜索名称中包含单词“the”的项目。第 2 级结果可能还包含单词“the”是其中一部分的单词“mother”的项目名称。