MS Access – 通配符
MS Access – 通配符
通配符是特殊字符,可以代替文本值中的未知字符,并且可以方便地定位具有相似但不相同数据的多个项目。通配符还可以帮助在指定的模式匹配上建立数据库。
Access 支持两组通配符,因为它支持结构化查询语言的两种标准。
- ANSI-89
- ANSI-92
通常,在对 Access 数据库(例如*.mdb和*.accdb文件)运行查询和查找和替换操作时,应使用 ANSI-89 通配符。
当您对 Access 项目(连接到 Microsoft SQL Server 数据库的 Access 文件)运行查询时,您可以使用 ANSI-92 通配符。Access 项目使用 ANSI-92 标准,因为 SQL Server 使用该标准。
ANSI-89 通配符
下表列出了 ANSI-89 支持的字符 –
Character | 描述 | 例子 |
---|---|---|
* | 匹配任意数量的字符。您可以在字符串中的任何位置使用星号 (*)。 | wh*找到什么,白色,以及为什么,但不是一会儿或观看。 |
? | 匹配任何单个字母字符。 | B?ll找到 ball、bell 和 bill。 |
[ ] | 匹配括号内的任何单个字符。 | B[ae]ll找到 ball 和 bell,但找不到 bill。 |
! | 匹配任何不在括号中的字符。 | b[!ae]ll查找 bill 和 Bull,但不查找 ball 或 bell。 |
– | 匹配一系列字符中的任何一个。您必须按升序指定范围(A 到 Z,而不是 Z 到 A)。 | b[ac]d查找 bad、bbd 和 bcd。 |
# | 匹配任何单个数字字符。 | 1#3S找到 103、113 和 123。 |
ANSI-92 通配符
下表列出了 ANSI-92 支持的字符 –
Character | 描述 | 例子 |
---|---|---|
% | 匹配任意数量的字符。它可以用作字符串中的第一个或最后一个字符。 | wh%找到什么,白色,以及为什么,但不是一会儿或观看。 |
_ | 匹配任何单个字母字符。 | B_ll查找 ball、bell 和 bill。 |
[ ] | 匹配括号内的任何单个字符。 | B[ae]ll找到 ball 和 bell,但找不到 bill。 |
^ | 匹配任何不在括号中的字符。 | b[^ae]ll查找 bill 和 Bull,但不查找 ball 或 bell。 |
– | 匹配一系列字符中的任何一个。您必须按升序指定范围(A 到 Z,而不是 Z 到 A)。 | b[ac]d查找 bad、bbd 和 bcd。 |
例子
现在让我们通过打开查询设计看一个使用这些通配符的简单示例。
添加突出显示的表格并关闭“显示表格”对话框。
在查询网格中添加您希望作为查询结果查看的字段。
运行您的查询。
让我们再次进入查询设计并添加项目名称提示。
现在运行您的查询,让我们假设您不知道确切的项目名称,但您知道项目名称包含单词“potion”。单击确定。
上述步骤不会产生任何结果。这是因为 Access 正在寻找项目名称字段中的完全匹配项。它正在寻找名称中带有Potion一词的项目。
如果您希望用户可以输入通配符来替换未知字符,那么您需要调整条件并包含像.
运行查询时,用户可以使用通配符替换任意数量的字符。
让我们假设您知道药水这个词出现在标题的某个地方,但您不确定在哪里。
您可以添加一个 * 来替换单词 potion 之前的任意数量的字符,然后在 the 之后添加另一个 *。单击确定。
用户知道他们可以输入的通配符总是好的。但是有些用户可能不知道他们可以输入和不能输入的通配符。在这种情况下,您可以自己输入通配符。
在这种情况下,在Like运算符和我们的参数提示之间,我们可以添加这些通配符,现在我们必须以一种非常具体的方式来编写它。在引号中的单词like之后,输入我们正在使用的通配符。在这种情况下,我们使用“*”来替换任意数量的字符。我们现在将其添加到参数中。为此,我们需要与号 (&)符号和一个空格。我们现在将重复此步骤并添加另一个与号 (&),因为我们将该通配符加入到用户为该项目名称输入的任何条件中,然后加入引号中的“*”。
现在让我们再次运行我们的查询。在提示中输入词药水,不带任何通配符。
查询现在将在此处输入的任何内容的任一侧跟踪这些通配符。我们需要简单地输入药水并按回车键。
我们现在得到了我们正在寻找的结果,无论用户输入什么,结果都是一样的。
假设我们想找到标题中带有“the”一词的每个项目。然后,您只需输入单词并Enter或单击Ok。
使用此查询,可以更轻松地搜索名称中带有“the”一词的项目。2nd 结果级别还可能包括带有“mother”一词的项目名称,其中“the”是该词的一部分。