Access 通配符参考 [适用于: Microsoft Office Access 2007]
较长时间内都一直在用Access2007.在替换上面需要使用到正则替换,写程序太过复杂,因而找到以下通配符来使用按格式搜索功能,十分方便。
做一记号。
原文地址:http://office.microsoft.com/zh-cn/access/HA100766012052.aspx
关于受支持的字符集
Access 支持 ANSI-89 和 ANSI-92 这两种结构化查询语言标准,因此支持两个通配符集。通常,在对 Access 数据库(.mdb 和 .accdb 文件)运行查询及查找和替换操作时,使用 ANSI-89 通配符。在对 Access 项目(与 Microsoft SQL Server 数据库连接的 Access 文件)运行查询时,使用 ANSI-92 通配符。由于 SQL Server 使用 ANSI-92 标准,Access 项目也使用 ANSI-92 标准。
但是,Access 中也有不适用该规则的例外情况。下表列出了可用于查找和替换数据的方法或工具,并显示使用每个工具的默认 ANSI 标准。
搜索方法或工具 | 搜索的文件类型 | 使用的通配符集 |
---|---|---|
“查找和替换”对话框 | Access 数据库(.mdb 和 .accdb 文件) | ANSI-89 |
“查找和替换”对话框 | Access 项目(.adp 和 .accdp 文件) | ANSI-92 |
选择或更新查询 | Access 数据库(.mdb 和 .accdb 文件) | ANSI-89 |
选择或更新查询 | Access 项目(.adp 和 .accdp 文件) | ANSI-92 |
“查找和替换”对话框,选择或更新查询 | 设置为支持 ANSI-92 标准的 Access 数据库 | ANSI-92 |
查找数据库支持的 ANSI 标准
按照以下步骤查找并有选择地更改给定数据库的 ANSI 设置。
- 单击“Microsoft Office 按钮”,然后单击“访问选项”。。出现“Access 选项”对话框。
- 单击“对象设计器”,然后在“查询设计”部分的“SQL Server 兼容语法(ANSI 92)”下执行下列操作之一:
- 选中“此数据库”以将打开的数据库更改为 ANSI-92 标准。- 或 –
清除该复选框,以将打开的数据库设置为 ANSI-89 标准。
- 选中“新数据库的默认设置”,以将使用打开的 Access 实例创建的所有新数据库都设置为 ANSI-92 标准。- 或 –
清除该复选框,以将所有的新数据库都设置为 ANSI-89 标准。
- 选中“此数据库”以将打开的数据库更改为 ANSI-92 标准。- 或 –
- 单击“确定”。
ANSI-89 通配符
使用“查找和替换”对话框查找并有选择地替换 Access 数据库或 Access 项目中的数据时,应使用此通配符集。对 Access 数据库运行选择和更新查询时,也可以使用这些字符,但是不能在对 Access 项目运行的查询中使用它们。有关使用选择和更新查询的详细信息,请参阅文章创建简单的选择查询和更新数据库中的数据。
字符 | 说明 | 示例 |
---|---|---|
* | 匹配任意数量的字符。可以在字符串中的任意位置使用星号 (*)。 | “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#3”将找到“103”、“113”和“123”。 |
ANSI-92 通配符
对 Access 项目(.adp 文件)运行选择和更新查询,以及使用这两种查询类型或“查找和替换”对话框来搜索设置为使用 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”。 |
注释
- 要查找数据中的通配符,可以将要查找的字符用方括号括起来,如 [#]。搜索星号 (*)、问号 (?)、井号 (#)、左方括号 ([) 和连字符 (–) 时,请遵循此规则。搜索感叹号 (!) 或右方括号 (]) 时,请不要使用方括号。要通过使用“查找和替换”对话框来查找这些字符,请在“查找内容”框中键入字符,而不要使用方括号。通过使用查询来查找这些字符时,应遵循同一方法。例如,以下语法返回包含感叹号的所有记录,而不考虑该字符在数据中的位置:Like “*!*”。有关使用“查找和替换”对话框的信息,请参阅使用“查找和替换”对话框更改数据一文。有关使用选择和更新查询的信息,请参阅文章创建简单的选择查询和更新数据库中的数据。
如果您正在同时搜索连字符和其他字符,则请将连字符放在方括号内所有其他字符的前面或后面,如 [-#*] 或 [#*-]。但是,如果左方括号后面有感叹号 (!),则请将连字符放在感叹号的后面:[!-]。
- 要搜索一对左右方括号 ([]),必须将这两个字符用方括号括起来,如 [[]]。必须这样做的原因是 Access 会将一对方括号解释为空字符串 (零长度字符串:不含字符的字符串。可以使用零长度字符串来表明您知道该字段没有值。输入零长度字符串的方法是键入两个彼此之间没有空格的双引号 (” “)。)。
可使用通配符搜索的数据类型
设计表时,可以为该表中的每个字段设置一种数据类型。例如,可以为包含日期信息的字段设置“日期/时间”数据类型。此表列出了可使用通配符搜索的数据类型。请注意,在某些情况下,可以在“查找和替换”对话框中使用通配符,但不能在查询中使用通配符,而在某些情况下则正好相反。
数据类型 | 使用位置 |
---|---|
文本 | “查找和替换”对话框、查询 |
备注 | “查找和替换”对话框、查询 |
数字 | “查找和替换”对话框、查询 |
日期/时间 | “查找和替换”对话框、查询 注释 区域设置会影响通配符的使用方式。有关详细信息,请参阅本节最后的注释。 |
货币 | “查找和替换”对话框、查询 |
自动编号 | “查找和替换”对话框、查询 |
OLE 对象 | 无。 |
是/否 | 查询,但您不需这些对象。有关详细信息,请参阅本节最后的注释。 |
超链接 | “查找和替换”对话框、查询 |
查阅向导 | 取决于源字段的数据类型。 |
注释
- 如果应用于日期/时间字段的格式将日期的部分或全部显示为文本,则可以在“查找和替换”对话框中使用通配符来搜索这些字段。例如,可以使用 *ar*-10-2007 这样的字符串进行搜索,结果将包括含有字母“ar”的任何月份,如 January、February 等。请注意,由于您必须使用应用于数据的格式进行搜索,因此必须在该对话框中选择一个选项,即“按格式搜索字段”复选框。有关此复选框的详细信息,请参阅使用“查找和替换”对话框更改数据一文。
- 在 Windows 的“区域设置”中指定的日期和时间会影响您看到的内容以及您的搜索方式。例如,某些用户可能会看到用罗马数字表示的日期,如 07-IX-1997,而不是 07-Sept-1997。通常,您应当搜索看到的内容,而不是您认为 Access 在表中存储的内容。换句话说,您可以使用字符串(如 *-IX-2007)来执行搜索,以找到当年九月份的所有记录。此外,如果日期字段中的文本包含发音符(如 á 或 ä),则必须将这些符号包含在搜索字符串中,否则搜索将失败。通过使用通配符,您可以不在搜索字符串中包括发音符。例如,如果看到日期(如 3-heinä-2007),则可以使用 *-hein*-2007 之类的字符串进行搜索。
- 使用“查找和替换”对话框搜索“是/否”字段时,Access 会忽略该字段,而且该对话框不会返回任何记录。使用查询搜索“是/否”字段时,可以使用通配符,但是必须记住“是/否”字段仅返回两个值(表示 false 的 0,表示 true 的 -1),因此,通配符不会为搜索增加任何结果。例如,使用 =-1 条件时将返回与 “Like *1” 相同的结果。
- 您不能搜索“OLE 对象”字段。