本主題提供有關(guān)如何使用 Access 提供的通配符的參考信息和有限的操作方法信息。
若要深入了解如何在 Access 數(shù)據(jù)庫中查找通配符,請參閱以下文章:使用“查找”和“替換”對話框更改數(shù)據(jù)、創(chuàng)建簡單的選擇查詢和更新數(shù)據(jù)庫中的數(shù)據(jù)。
Access 支持兩組通配符,因為它支持結(jié)構(gòu)化查詢語言的兩個標(biāo)準 - ANSI-89 和 ANSI-92。通常,對 Access 數(shù)據(jù)庫(.mdb 和 .accdb 文件)執(zhí)行查詢和查找替換操作時,使用 ANSI-89 通配符。對 Access 項目(連接到 Microsoft SQL Server 數(shù)據(jù)庫的 Access?? 文件)執(zhí)行查詢操作時,使用 ANSI-92 通配符。Access 項目使用 ANSI-92 標(biāo)準是因為 SQL Server 使用該標(biāo)準。
但是,Access 還提供了該常規(guī)用法的例外情況。下表列出可用于查找并替換數(shù)據(jù)的方法或工具,并顯示配合每個工具使用的默認 ANSI 標(biāo)準。
搜索方法或工具 | 搜索的文件類型 | 使用的通配符集 |
“查找和替換”對話框 | Access 數(shù)據(jù)庫(.mdb 和 .accdb 文件) | ANSI-89 |
“查找和替換”對話框 | Access 項目(.adp 和 .accdp 文件) | ANSI-92 |
選擇或更新查詢 | Access 數(shù)據(jù)庫(.mdb 和 .accdb 文件) | ANSI-89 |
選擇或更新查詢 | Access 項目(.adp 和 .accdp 文件) | ANSI-92 |
“查找和替換”對話框,選擇或更新查詢 | 設(shè)置為支持 ANSI-92 標(biāo)準的 Access?? 數(shù)據(jù)庫 | ANSI-92 |
請按照以下步驟查找并根據(jù)需要更改給定數(shù)據(jù)庫的 ANSI 設(shè)置。
單擊“文件”>“選項”。請注意,如果使用 Access 2007,請單擊“Microsoft Office 按鈕”,然后單擊“Access 選項”。
此時將出現(xiàn)“Access 選項”對話框。
單擊“對象設(shè)計器”,并在“查詢設(shè)計”部分的“SQL Server 兼容語法(ANSI 92)”下,執(zhí)行下列操作之一:
選擇“此數(shù)據(jù)庫”,將打開的數(shù)據(jù)庫更改為 ANSI-92 標(biāo)準。
或者
清除該復(fù)選框,將打開的數(shù)據(jù)庫設(shè)置為 ANSI-89 標(biāo)準。
選擇“新數(shù)據(jù)庫的默認設(shè)置”,將使用打開的 Access 實例創(chuàng)建的所有新數(shù)據(jù)庫設(shè)置為 ANSI-92 標(biāo)準。
或者
清除該復(fù)選框,將所有新數(shù)據(jù)庫設(shè)置為 ANSI-89 標(biāo)準。
單擊“確定”。
使用“查找和替換”對話框查找并根據(jù)需要替換 Access 數(shù)據(jù)庫或 Access 項目中的數(shù)據(jù)時,使用此通配符集。還可以在對 Access 數(shù)據(jù)庫運行選擇和更新查詢時使用這些通配符,但不能用于對 Access 項目運行查詢。若要深入了解如何使用選擇和更新查詢,請參閱以下文章:創(chuàng)建簡單的選擇查詢和更新數(shù)據(jù)庫中的數(shù)據(jù)。
字符 | 說明 | 示例 |
* | 匹配任意字符數(shù)。您可以在字符串中使用星號 (*)。 | “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。 |
# | 匹配任意單個數(shù)字字符。 | “1#3”將找到 103、113 和 123。 |
對 Access 項目(.adp 文件)運行選擇和更新查詢時,使用其中一種類型的查詢或“查找和替換”對話框搜索要設(shè)置為使用 ANSI-92 標(biāo)準的數(shù)據(jù)庫集時,使用此通配符集。
字符 | 說明 | 示例 |
% | 匹配任意字符數(shù)??蓪⑵溆米髯址械牡谝粋€或最后一個字符。 | “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。 |
備注:
若要查找位于數(shù)據(jù)中的通配符,請將要查找的字符括在括號中,例如:[#]。搜索星號 (*)、問號 (?)、井號 (#)、左方括號 ([) 和連字符 (-) 時,遵循此規(guī)則。搜索感嘆號 (!) 或右方括號 (]) 時,不使用括號。若要通過使用“查找和替換”對話框查找這些字符,請在“查找內(nèi)容”框中鍵入字符,但不使用括號。使用查詢查找這些字符時,可以按照相同的方法操作。例如,以下語法返回包含感嘆號的所有記錄,而不考慮字符在數(shù)據(jù)中的位置:Like "*!*"。
若要了解如何使用“查找和替換”對話框,請參閱使用“查找和替換”對話框更改數(shù)據(jù)一文。若要了解如何使用選擇和更新查詢,請參閱以下文章:創(chuàng)建簡單的選擇查詢和更新數(shù)據(jù)庫中的數(shù)據(jù)。
若要同時搜索連字符和其他字符,請將連字符置于括號內(nèi)所有其他字符之前或之后,例如:[-#*] 或 [#*-]。但是,如果左括號后接感嘆號 (!),請將連字符置于感嘆號后:[!-]。
要搜索一對左括號和右括號 ([]),必須將這兩個字符括在括號中,例如:[[]]。必須這樣操作,因為 Access 將一對方括號解釋為 零長度字符串。
設(shè)計表時,將該表中的每個字段設(shè)置為一種數(shù)據(jù)類型。例如,將包含日期信息的字段設(shè)置為“日期/時間”數(shù)據(jù)類型。下表列出了可以使用通配符搜索的數(shù)據(jù)類型。請記住,在某些情況下,可以在“查找和替換”對話框中使用通配符,但不可以在查詢中使用,反之亦然。
數(shù)據(jù)類型 | 可用于... |
文本 | “查找和替換”對話框、查詢 |
備注 | “查找和替換”對話框、查詢 |
數(shù)字?? | “查找和替換”對話框、查詢 |
日期/時間 | “查找和替換”對話框、查詢 注意: 區(qū)域設(shè)置會影響通配符的使用方式。有關(guān)詳細信息,請參閱本節(jié)末尾的備注。 |
貨幣 | “查找和替換”對話框、查詢 |
自動編號 | “查找和替換”對話框、查詢 |
OLE 對象 | 無。 |
是/否?? | 查詢,但不需要它們。有關(guān)詳細信息,請參閱本節(jié)末尾的備注。 |
超鏈接 | “查找和替換”對話框、查詢 |
查閱向?qū)?/p> | 取決于源字段的數(shù)據(jù)類型。 |
備注:
如果應(yīng)用于日期/時間字段的格式將部分或全部日期顯示為文本,則可以在“查找和替換”對話框中使用通配符搜索這些字段。例如,可以使用 2007-*ar*-10 等字符串進行搜索,結(jié)果將包括包含字母“ar”的任何月份(如,一月、二月)。請記住,由于必須使用應(yīng)用于數(shù)據(jù)的格式進行搜索,因此在該對話框中必須選中“按格式搜索字段”復(fù)選框這一選項。有關(guān)此復(fù)選框的詳細信息,請參閱使用“查找和替換”對話框更改數(shù)據(jù)一文。
在 Windows 區(qū)域設(shè)置中指定的日期和時間會影響顯示的內(nèi)容和搜索方式。例如,某些用戶可能會看到羅馬數(shù)字形式的日期,如 1997-IX-07,而不是 1997-Sept-07。通常,會搜索顯示的內(nèi)容,而不是你認為 Access 在表中存儲的內(nèi)容。換言之,若要查找這一年 9 月的所有記錄,可以使用 2007-IX-* 等字符串進行搜索。
此外,如果日期字段中的文本包含變音符,例如 á 或 ?,則搜索字符串中必須包含這些標(biāo)記,否則搜索將失敗。通過使用通配符可以解決出現(xiàn)的變音符。例如,如果看到 2007-hein?-3 等日期,可以通過使用 2007-hein*-* 等字符串進行搜索。
使用“查找和替換”對話框搜索“是/否”字段時,Access 會忽略該字段,并且對話框不會返回任何記錄。使用查詢搜索“是/否”字段時,可以使用通配符,但請注意,“是/否”字段只會返回兩個值(0 表示 false,-1 表示 true),這樣通配符才不會將任何值添加到搜索。例如,使用 =-1 等條件會返回與 "Like *1" 相同的結(jié)果。
不能搜索 OLE 對象字段。