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 支持的字符 -

特点 描述 例子
* 匹配任意数量的字符。您可以在字符串中的任何位置使用星号 (*)。 wh*找到什么、白色和原因,但不是一会儿或观察。
匹配任何单个字母字符。 比尔找到了球、铃和比尔。
[ ] 匹配括号内的任何单个字符。 B[ae]ll找到了球和铃,但没有找到 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 支持的字符 -

特点 描述 例子
% 匹配任意数量的字符。它可以用作字符串中的第一个或最后一个字符。 wh%找到了什么,白色,以及为什么,但没有一会儿或观察。
_ 匹配任何单个字母字符。 B_ll找到 ball、bell 和 bill。
[ ] 匹配括号内的任何单个字符。 B[ae]ll找到了球和铃,但没有找到 Bill。
^ 匹配不在括号中的任何字符。 b[^ae]ll找到 bill 和 bull,但找不到 ball 或 bell。
- 匹配一系列字符中的任何一个。您必须按升序指定范围(A 到 Z,而不是 Z 到 A)。 b[ac]d查找 bad、bbd 和 bcd。

例子

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

添加突出显示的表并关闭“显示表”对话框。

粘贴错误

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

添加查询网格

运行您的查询。

运行查询项目

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

查询2

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

药水

上述步骤不会产生任何结果。这是因为 Access 正在项目名称字段中查找完全匹配的项。它正在寻找名称中含有“potion”一词的项目。

如果您希望用户可以输入通配符来替换未知字符,那么您需要调整条件并包含运算符。

喜欢运算符

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

字符数

让我们假设您知道“ potion”一词出现在标题中的某个位置,但您不确定在哪里。

您可以添加 * 来替换单词 potion 之前的任意数量的字符,然后在后面添加另一个 *。单击“确定”

添加药水

药水卷轴

对于用户来说,了解他们可以输入的通配符总是有好处的。但有些用户可能不知道他们可以输入和不能输入的通配符。在这种情况下,您可以自己输入通配符。

在这种情况下,在Like运算符和参数提示之间,我们可以添加这些通配符,现在我们必须以一种非常具体的方式来编写它。在引号中的单词like之后,输入我们正在使用的通配符。在本例中,我们使用“*”来替换任意数量的字符。我们现在将其添加到参数中。为此,我们需要与号(&)符号和一个空格。现在,我们将重复此步骤并添加另一个与号 (&),因为我们将该通配符加入到用户为该项目名称输入的任何条件中,然后将“*”放在引号中。

喜欢 输入姓名

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

药水

现在,查询将跟踪此处输入的内容两侧的通配符。我们只需输入 potion 并按 Enter 键即可。

药水卷轴

我们现在得到了我们正在寻找的结果,并且无论用户输入什么,结果都是相同的。

假设我们想要找到标题中带有“the”一词的每个项目。然后,您只需键入该单词并Enter或单击“确定”

参数

母语

通过此查询,可以更轻松地搜索名称中包含“the”一词的项目。第二级结果还可能包括带有“mother”一词的项目名称,其中“the”是该词的一部分