Access通配符

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

Access支持两组通配符,因为它支持结构化查询语言的两个标准(条件)。

  • ANSI-89
  • ANSI-92

通常,在运行查询和查找和替换Access数据库(如*.mdb*.accdb文件)的操作时,使用ANSI-89 通配符。

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

ANSI-89通配符

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

字符 描述 示例
* 匹配任意数量的字符,可以在字符串中的任何位置使用星号(*)。 wh*可以匹配whatwhitewhy,但不匹配awhilewatch
? 匹配任何单个字母字符。 B?ll 可匹配 ball, bell 以及 bill
[] 匹配括号内的任何单个字符。 B[ae]ll 可匹配 ballbell,但不匹配bill
! 匹配不在括号内的任何字符。 b[!ae]ll 可匹配 billbull, 但不匹配 ballbell
- 匹配任何一个字符的范围。必须按升序指定范围(AZ,而不是ZA)。 b[a-c]d 匹配 bad, bbdbcd
# 匹配任何单个数字字符。 1#3S 可匹配 103, 113123

ANSI-92通配符

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

字符 描述 示例
% 匹配任意数量的字符。它可以用作字符串中的第一个或最后一个字符。 wh% 匹配 what, whitewhy, 但不匹配 awhilewatch
_ 匹配任何单个字母字符。 B_ll 匹配 ball, bellbill
[] 匹配括号内的任何单个字符。 B[ae]ll 匹配 ballbell, 但是不匹配bill
^ b[^ae]ll 匹配 billbull, 但是不匹配 ballbell
- 匹配任何一个字符的范围。必须按升序指定范围(AZ,而不是ZA)。 b[a-c]d 匹配 bad, bbdbcd

示例

现在打开查询设计来演示如何使用这些通配符的简单示例。添加显示的表并关闭“显示表格”对话框。

将想要查看的字段添加为查询结果。

运行查询,得到以下结果 -

再次打开查询设计,并添加项目名称的输入提示。

现在运行查询,假设不知道确切的项目名称,但是知道项目名称包含单词"大桥"。 点击确定

执行上述查询不会产生任何结果。这是因为Access在项目名称字段中查找完全匹配。 它正在寻找那个名字中有"大桥"的项目。

如果想让用户可以输入通配符来替换未知的字符,那么需要调整标准(条件),并包括Like运算符。

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

假设要了解有关"大桥"这个词的项目,但是不确定它在哪里。

可以添加一个*来替换单词"大桥"之前的任意数量的字符,然后添加另一个*。 点击确定

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

在这种情况下,在Like操作符和参数提示符之间,可以添加这些通配符,现在有一个非常具体的方法来写这个。 在引号之后的单词之后,输入正在使用的通配符。 在这种情况下,我们使用“*”来替换任意数量的字符。现在将这个添加到参数。 为此,需要符号()符号和空格。现在重复这一步,并添加另一个符号(),因为加入了通配符,无论用户输入什么标准的项目名称,然后用引号“*”

现在再次运行我们的查询。 在没有任何通配符的提示符下输入单词:"大桥"。结果如下所示 -

查询现在将追踪任何在这里输入的通配符。只需要输入"大桥",然后按回车。

现在得到查找的结果,并且无论用户输入什么内容,结果都是一样的。

如果希望在项目标题中找到带有"扩建"的词组。 然后,只需键入"扩建"并单击确定。

通过这个查询,搜索名称中带有"扩建"的项目变得更加容易。结果也可能包含项目名称,其中"扩建"是该词的一部分。


上一篇:Access多对多关系

下一篇:Access计算表达式

关注微信小程序
程序员编程王-随时随地学编程

扫描二维码
程序员编程王

扫一扫关注最新编程教程