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* 查找 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 通配符字符

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

字符 描述 示例
% 匹配任意数量的字符。它可以用作字符字符串中的第一个或最后一个字符。 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。

示例

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

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

Paste Errors

在查询网格中添加您希望作为查询结果看到的字段。

Add Query Grid

运行您的查询。

Run Query Project

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

Query2

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

Potion

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

如果您希望用户能够输入通配符来替换未知字符,则需要调整条件并包含like运算符。

Like Operator

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

Number of Characters

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

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

Add Potion

Potion Scroll

最好让用户知道他们可以输入哪些通配符。但有些用户可能不知道他们可以输入和不能输入哪些通配符。在这种情况下,您可以自己输入通配符。

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

Like Enter Name

现在让我们再次运行我们的查询。在提示中输入“potion”一词,无需任何通配符。

Potion

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

Potion Scroll

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

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

The Parameter

Mother Word

使用此查询,可以更轻松地搜索名称中包含“the”一词的项目。第二级结果可能还包括名称中包含“the”一词的项目名称,例如“mother”。

广告