使用查詢更新數(shù)據(jù)
本文說明如何創(chuàng)建和運(yùn)行更新查詢。在必須更新或更改記錄集中的現(xiàn)有數(shù)據(jù)時(shí),應(yīng)使用更新查詢。
不能使用更新查詢來向數(shù)據(jù)庫添加新記錄,也不能從數(shù)據(jù)庫中刪除整個(gè)記錄。若要將新記錄添加到數(shù)據(jù)庫,請使用追加查詢;若要從數(shù)據(jù)庫中刪除整個(gè)記錄,請使用刪除查詢。有關(guān)詳細(xì)信息,請參閱“請參閱”一節(jié)。
注釋 不可在 Web 瀏覽器中運(yùn)行更新查詢。如果要在 Web 數(shù)據(jù)庫中運(yùn)行更新查詢,必須先使用 Access 打開數(shù)據(jù)庫。
本文內(nèi)容
將一個(gè)表中的數(shù)據(jù)更新到另一個(gè)表
使用更新查詢可以添加、更改或刪除一條或多條現(xiàn)有記錄中的數(shù)據(jù)??梢詫⒏虏樵円暈橐环N強(qiáng)大的“查找和替換”對話框形式。
與“查找和替換”對話框相似的是,更新查詢允許您:
✍ | 指定要替換的值。 |
✍ | 指定要用作替代內(nèi)容的值。 |
與“查找和替換”對話框不同的是,更新查詢允許您:
✍ | 使用與您要替換的值無關(guān)的條件。 |
✍ | 一次更新大量記錄。 |
✍ | 同時(shí)更改多個(gè)表中的記錄。 |
更新查詢不可用于更新以下類型字段中的數(shù)據(jù):
✍ | 計(jì)算字段 計(jì)算字段 (計(jì)算字段:在查詢中定義的字段,顯示表達(dá)式的結(jié)果而非顯示存儲的數(shù)據(jù)。每當(dāng)表達(dá)式中的值改變時(shí),就重新計(jì)算一次該值。)中的值不會永久駐留于表中。Access 計(jì)算出的值僅存在于計(jì)算機(jī)的臨時(shí)內(nèi)存中。由于計(jì)算字段沒有永久性存儲位置,因此不能更新。 |
✍ | 總計(jì)查詢或交叉表查詢中的字段 這些類型的查詢中的值是計(jì)算得到的值,因此不能由更新查詢更新。 |
✍ | 自動編號字段 按照設(shè)計(jì),“自動編號”字段中的值僅在您向表中添加記錄時(shí)才會更改。 |
✍ | 唯一值查詢和唯一記錄查詢中的字段 這類查詢中的值是匯總值。其中某些值表示單條記錄,而其他值表示多條記錄。由于不可能確定哪些記錄被作為重復(fù)值而排除,因此無法執(zhí)行更新操作,也因此無法更新所有必需的字段。不管使用更新查詢,還是通過在窗體或數(shù)據(jù)表中輸入值來嘗試手動更新數(shù)據(jù),此限制都適用。 |
✍ | 聯(lián)合查詢中的字段 不可更新聯(lián)合查詢中的字段內(nèi)的數(shù)據(jù),因?yàn)槌霈F(xiàn)在兩個(gè)或更多數(shù)據(jù)源中的每條記錄只在聯(lián)合查詢結(jié)果中出現(xiàn)一次。由于某些重復(fù)記錄已從結(jié)果中移除,因此 Access 無法更新所有必需的記錄。 |
✍ | 主鍵字段 某些情況下,例如,如果在表關(guān)系中使用了主鍵字段,那么,除非先將關(guān)系設(shè)置為自動級聯(lián)更新,否則不可使用查詢來更新該字段。 |
注釋 級聯(lián)更新時(shí),如果更改父表中的主鍵值,Access 將自動更新外鍵值。
作為最佳實(shí)踐,必須按照兩個(gè)主要步驟來創(chuàng)建和運(yùn)行更新查詢:創(chuàng)建用于找出您要更新的記錄的選擇查詢,然后將該查詢轉(zhuǎn)換為可運(yùn)行的更新查詢來更新記錄。
提示 運(yùn)行更新查詢之前,可能需要備份數(shù)據(jù)庫。由于更新查詢的結(jié)果無法撤消,因此,請進(jìn)行備份,這可確保在您改變主意時(shí)能夠撤消更改。
1. | 單擊“文件”選項(xiàng)卡,然后單擊“共享”。 |
2. | 在右側(cè)的“高級”下面,單擊“備份數(shù)據(jù)庫”。 |
3. | 在“備份數(shù)據(jù)庫另存為”對話框中,指定備份副本的名稱和位置,然后單擊“保存”。 |
Access 將關(guān)閉原始文件,創(chuàng)建備份,然后重新打開原始文件。
若要還原到備份,請關(guān)閉并重命名原始文件,以便備份副本可以使用原始版本的名稱。將原始版本的名稱分配給備份副本,然后在 Access 中打開已重命名的備份副本。
本節(jié)內(nèi)容
步驟 1:創(chuàng)建用于找出要更新的記錄的選擇查詢
1. | 打開包含要更新的記錄的數(shù)據(jù)庫。 |
2. | 在“設(shè)計(jì)”選項(xiàng)卡上的“宏和代碼”組中,單擊“查詢設(shè)計(jì)”。 |
將打開查詢設(shè)計(jì)器,并打開“顯示表”對話框。
3. | 單擊“表”選項(xiàng)卡。 |
4. | 選擇包含要更新的記錄的表,單擊“添加”,然后單擊“關(guān)閉”。 |
每個(gè)表都會在查詢設(shè)計(jì)器中顯示為一個(gè)窗口,并且這些窗口會列出每個(gè)表中的所有字段。下圖顯示包含一個(gè)典型表的查詢設(shè)計(jì)器。
查詢設(shè)計(jì)器中顯示的表
“查詢”設(shè)計(jì)網(wǎng)格
5. | 在表窗口中,雙擊要更新的字段。所選字段出現(xiàn)在查詢設(shè)計(jì)網(wǎng)格的“字段”行中。 |
可以向查詢設(shè)計(jì)網(wǎng)格中的每一列添加一個(gè)表字段。
若要快速添加表中的所有字段,請雙擊表窗口中表字段列表頂部的星號(“*”)。下圖顯示添加了所有字段的查詢設(shè)計(jì)網(wǎng)格。
6. | 若要基于字段值限制查詢結(jié)果,在查詢設(shè)計(jì)網(wǎng)格中的“條件”行中,輸入要用來限制結(jié)果的條件。 |
注釋 該表中的許多示例都使用通配符以使查詢更加靈活和高效。
條件 |
效果 |
>234 |
返回所有大于 234 的數(shù)字。若要查找所有小于 234 的數(shù)字,請使用 < 234。 |
>="Cajhen" |
返回從 Cajhen 直至字母表末尾的所有記錄。 |
Between #2/2/2007# And #12/1/2007# |
返回 2007 年 2 月 2 日到 2007 年 12 月 1 日之間的日期 (ANSI-89)。如果數(shù)據(jù)庫使用的是 ANSI-92 通配符,則使用單引號 (') 替代井號 (#)。例如:Between '2/2/2007' And '12/1/2007'。 |
Not "德國" |
查找字段內(nèi)容與“德國”不完全相同的所有記錄。該條件將返回除了包含“德國”之外還包含其他字符的記錄,如“德國(歐元)”或“歐洲(德國)”。 |
Not "T*" |
查找所有記錄,以 T 開頭的記錄除外。如果數(shù)據(jù)庫使用的是 ANSI-92 通配符字符集,則使用百分號 (%) 替代星號 (*)。 |
Not "*t" |
查找不以 t 結(jié)尾的所有記錄。如果數(shù)據(jù)庫使用的是 ANSI-92 通配符字符集,則使用百分號 (%) 替代星號 (*)。 |
In(加拿大,英國) |
在列表中,查找包含“加拿大”或“英國”的所有記錄。 |
Like "[A-D]*" |
在文本字段中,查找所有以字母 A 到 D 開頭的記錄。如果數(shù)據(jù)庫使用的是 ANSI-92 通配符字符集,則使用百分號 (%) 替代星號 (*)。 |
Like "*ar*" |
查找包含字母序列“ar”的所有記錄。如果數(shù)據(jù)庫使用的是 ANSI-92 通配符字符集,則使用百分號 (%) 替代星號 (*)。 |
Like "Maison Dewe?" |
查找滿足以下條件的所有記錄:以“Maison”開頭并包含另一個(gè)含有 5 個(gè)字母的字符串,且該字符串的前 4 字母是“Dewe”而最后的字母未知。如果數(shù)據(jù)庫使用的是 ANSI-92 通配符字符集,則使用下劃線 (_) 替代問號 (?)。 |
#2/2/2007# |
查找 2007 年 2 月 2 日的所有記錄。如果數(shù)據(jù)庫使用的是 ANSI-92 通配符字符集,則在日期兩側(cè)用單引號 ('),而不用井號 (#);例如,('2/2/2007')。 |
< Date() - 30 |
使用 Date 函數(shù)返回超過 30 天的所有日期。 |
Date() |
使用 Date 函數(shù)返回包含當(dāng)前日期的所有記錄。 |
Between Date() And DateAdd("M", 3, Date()) |
使用 Date 和 DateAdd 函數(shù)返回從當(dāng)天起三個(gè)月內(nèi)的所有記錄。 |
Is Null |
返回包含 Null(空或未定義)值的所有記錄。 |
Is Not Null |
返回包含值的所有記錄。 |
"" |
返回包含零長度字符串的所有記錄。當(dāng)您需要向必填字段添加值,但還不知道值是什么時(shí),可以使用零長度字符串。例如,某個(gè)字段可能需要傳真號碼,但某些客戶可能沒有傳真機(jī)。在這種情況下,可以輸入中間不帶空格的一對雙引號 ("") 來替代數(shù)字。 |
7. | 在“設(shè)計(jì)”選項(xiàng)卡上的“結(jié)果”組中,單擊“運(yùn)行”。 |
8. | 確認(rèn)查詢返回要更新的記錄。 |
9. | 若要移除不想包含在查詢設(shè)計(jì)中的任何字段,選擇這些字段,然后按 Delete。 |
10. | 若要添加要包含在查詢設(shè)計(jì)中的任何字段,將要添加的字段拖入查詢設(shè)計(jì)網(wǎng)格中。 |
1. | 在“設(shè)計(jì)”選項(xiàng)卡上的“查詢類型”組中,單擊“更新”。 |
此過程將演示如何將選擇查詢更改為更新查詢。執(zhí)行此操作時(shí),Access 會在查詢設(shè)計(jì)網(wǎng)格中添加“更新到”行。下圖顯示了一個(gè)更新查詢,該查詢返回 2005 年 1 月 5 日之后購買的所有資產(chǎn),并將所有滿足該條件的記錄的位置更改為“倉庫 3”。
2. | 找到包含要更改的數(shù)據(jù)的字段,然后在該字段的“更新到”行中鍵入表達(dá)式(更改條件)。 |
可以在“更新到”行中使用任何有效的表達(dá)式。
表達(dá)式 |
結(jié)果 |
"銷售人員" |
在文本字段中,將文本值更改為“銷售人員”。 |
#8/10/07# |
在日期/時(shí)間字段中,將日期值更改為 2007-08-10。 |
是 |
在“是/否”字段中,將值“否”更改為“是”。 |
"PN" & [商品編號] |
將“PN”添加到每個(gè)指定商品編號的開頭。 |
[單價(jià)] * [數(shù)量] |
將“單價(jià)”和“數(shù)量”字段中的值相乘。 |
[運(yùn)費(fèi)] * 1.5 |
將“運(yùn)費(fèi)”字段中的值增大 50%。 |
DSum("[數(shù)量] * [單價(jià)]", "訂單明細(xì)", "[產(chǎn)品ID]=" & [產(chǎn)品ID]) |
如果當(dāng)前表中的“產(chǎn)品ID”值與“訂單明細(xì)”表中的“產(chǎn)品ID”值匹配,則該表達(dá)式會通過將“數(shù)量”字段中的值與“單價(jià)”字段中的值相乘來更新銷售總額。該表達(dá)式使用 DSum 函數(shù),因?yàn)樗梢詫Χ鄠€(gè)表和表字段執(zhí)行操作。 |
Right([貨主郵政編碼], 5) |
截?cái)啵▌h除)文本或數(shù)字字符串中最左側(cè)的字符,保留最右邊的 5 個(gè)字符。 |
IIf(IsNull([單價(jià)]), 0, [單價(jià)]) |
將“單價(jià)”字段中的 Null(未知或未定義)值更改為零 (0) 值。 |
3. | 在“設(shè)計(jì)”選項(xiàng)卡上的“結(jié)果”組中,單擊“運(yùn)行”。 |
將顯示一條警告消息。
4. | 若要運(yùn)行查詢并更新數(shù)據(jù),單擊“是”。 |
注釋 運(yùn)行該查詢時(shí),您可能會注意到,某些字段未顯示在結(jié)果集中。如果查詢包含您不更新的字段,則默認(rèn)情況下,Access 不在結(jié)果中顯示這些字段。例如,您可能包含了兩個(gè)表中的 ID 字段來幫助確保查詢找到并更新正確的記錄。如果不更新這些 ID 字段,則 Access 將不在結(jié)果中顯示這些字段。
在需要將一個(gè)表中的數(shù)據(jù)更新到另一個(gè)表時(shí),請考慮下面的規(guī)則:源字段和目標(biāo)字段的數(shù)據(jù)類型必須匹配或兼容。
此外,在將一個(gè)表中的數(shù)據(jù)更新到另一個(gè)表并使用兼容的數(shù)據(jù)類型替代匹配的數(shù)據(jù)類型時(shí),Access 會轉(zhuǎn)換目標(biāo)表中那些字段的數(shù)據(jù)類型。因此,目標(biāo)字段中的一些數(shù)據(jù)可能會被截?cái)啵▌h除)。數(shù)據(jù)類型轉(zhuǎn)換的限制一節(jié)列出了能夠以及不能轉(zhuǎn)換數(shù)據(jù)類型的情況。本節(jié)中的該表還說明了在哪些情況下轉(zhuǎn)換數(shù)據(jù)類型可能更改或清除字段中的部分或全部數(shù)據(jù),以及哪些數(shù)據(jù)可能被清除。
將一個(gè)表中的數(shù)據(jù)更新到另一個(gè)表的過程包括下面幾個(gè)主要步驟:
1. | 創(chuàng)建更新查詢并向該查詢添加源表和目標(biāo)表。 |
2. | 在包含相關(guān)信息的字段上聯(lián)接這些表。 |
3. | 將目標(biāo)字段的名稱添加到查詢設(shè)計(jì)網(wǎng)格的“字段”行。 |
4. | 通過使用下面的語法將源字段的名稱添加到查詢設(shè)計(jì)網(wǎng)格的“更新到”行:[source_table].[source_field]。 |
本節(jié)中的步驟假設(shè)使用兩個(gè)相似的表。此例中,“顧客”表位于您剛繼承的數(shù)據(jù)庫中,其中包含比“客戶”表更新的數(shù)據(jù)。您可以看到一些經(jīng)理的姓名和地址已發(fā)生更改。因此,您決定使用“顧客”表中的數(shù)據(jù)更新“客戶”表。
顧客 ID |
名稱 |
地址 |
城市 |
省/市/自治區(qū) |
郵政編碼 |
國家/地區(qū) |
電話 |
聯(lián)系人 |
1 |
博文科學(xué)博物館 |
西直門大街 1 號 |
寧波 |
江蘇 |
12345 |
中國 |
(505) 555-2122 |
劉鵬 |
2 |
藍(lán)天航空公司 |
南京路 52 號 |
大連 |
遼寧 |
23456 |
中國 |
(104) 555-2123 |
王力 |
3 |
谷裕釀酒廠 |
春西路 3122 號 |
咸陽 |
陜西 |
34567 |
中國 |
(206) 555-2124 |
張宏 |
4 |
康威醫(yī)藥有限公司 |
玉林街 1 號 |
昆明 |
云南 |
NS1 EW2 |
中國 |
(171) 555-2125 |
周軍 |
5 |
光遠(yuǎn)商貿(mào) |
楊柳巷 2 號 |
哈爾濱 |
56789 |
中國 |
(7) 555-2126 |
費(fèi)雪梅 |
|
6 |
聯(lián)合信息技術(shù)有限公司 |
3123 75th St. S. |
咸陽 |
陜西 |
34567 |
中國 |
(206) 555-2125 |
王華 |
7 |
星源圖文公司 |
人民大街 1587 號 |
長春 |
遼寧 |
87654 |
中國 |
(916) 555-2128 |
楊陽 |
8 |
立特威公司 |
長江西路 3 號 |
重慶 |
四川 |
31415 |
中國 |
(503) 555-2129 |
張明森 |
9 |
乖寶貝玩具公司 |
青羊路 4 號 |
重慶 |
四川 |
31415 |
中國 |
(503) 555-2233 |
宋菲菲 |
客戶 ID |
名稱 |
地址 |
城市 |
省/市/自治區(qū) |
郵政編碼 |
國家/地區(qū) |
電話 |
經(jīng)理 |
1 |
博文科學(xué)博物館 |
西直門大街 1 號 |
寧波 |
江蘇 |
12345 |
中國 |
(505) 555-2122 |
李斯聞 |
2 |
藍(lán)天航空公司 |
南京路 52 號 |
大連 |
遼寧 |
23456 |
中國 |
(104) 555-2123 |
王力 |
3 |
谷裕釀酒廠 |
春西路 3122 號 |
咸陽 |
陜西 |
34567 |
中國 |
(206) 555-2124 |
張宏 |
4 |
康威醫(yī)藥有限公司 |
玉林街 1 號 |
昆明 |
云南 |
NS1 EW2 |
中國 |
(171) 555-2125 |
周軍 |
5 |
光遠(yuǎn)商貿(mào) |
豐收路 134 號 |
哈爾濱 |
56789 |
中國 |
(7) 555-2126 |
費(fèi)雪梅 |
|
6 |
聯(lián)合信息技術(shù)有限公司 |
3123 75th St. S. |
咸陽 |
陜西 |
34567 |
中國 |
(206) 555-2125 |
霍奎廷 |
7 |
星源圖文公司 |
南關(guān)大街 67 號 |
長春 |
遼寧 |
87654 |
中國 |
(916) 555-2128 |
何雅莉 |
8 |
立特威公司 |
青羊路 3 號 |
重慶 |
四川 |
31415 |
中國 |
(503) 555-2129 |
李愛杰 |
9 |
乖寶貝玩具公司 |
青羊路 4 號 |
重慶 |
四川 |
31415 |
中國 |
(503) 555-2233 |
宋菲菲 |
在繼續(xù)執(zhí)行操作時(shí),請記住,雖然每個(gè)表字段的數(shù)據(jù)類型不必匹配,但必須兼容。Access 必須能夠?qū)⒃幢碇械臄?shù)據(jù)轉(zhuǎn)換為目標(biāo)表可以使用的類型。在某些情況下,轉(zhuǎn)換過程可能刪除一些數(shù)據(jù)。有關(guān)轉(zhuǎn)換數(shù)據(jù)類型的限制的詳細(xì)信息,請參閱數(shù)據(jù)類型轉(zhuǎn)換的限制一節(jié)。
注釋 下面的步驟假設(shè)使用上面兩個(gè)示例表。您可以根據(jù)自己的數(shù)據(jù)對這些步驟進(jìn)行相應(yīng)的調(diào)整。
1. | 在“設(shè)計(jì)”選項(xiàng)卡上的“宏和代碼”組中,單擊“查詢設(shè)計(jì)”。 |
2. | 在“顯示表”對話框中,單擊“表”選項(xiàng)卡。 |
3. | 雙擊源表和目標(biāo)表將其添加到查詢,然后單擊“關(guān)閉”。每個(gè)表都將出現(xiàn)在查詢設(shè)計(jì)器的窗口中。 |
4. | 大多數(shù)情況下,Access 自動聯(lián)接查詢中的相關(guān)字段。若要手動聯(lián)接包含相關(guān)信息的字段,請將相關(guān)字段從一個(gè)表拖至另一個(gè)表的對應(yīng)字段。 |
例如,如果使用上面顯示的兩個(gè)示例表,則可以將“顧客 ID”字段拖動到“客戶 ID”字段。Access 會在兩個(gè)表中的這兩個(gè)字段之間創(chuàng)建關(guān)系,并使用該關(guān)系來聯(lián)接任何相關(guān)記錄。
5. | 在“設(shè)計(jì)”選項(xiàng)卡上的“查詢類型”組中,單擊“更新”。 |
6. | 在目標(biāo)表中,雙擊要更新的字段。每個(gè)字段都顯示在查詢設(shè)計(jì)網(wǎng)格的“字段”行中。 |
如果使用示例表,則添加除“客戶 ID”字段之外的所有字段。請注意,目標(biāo)表的名稱顯示在設(shè)計(jì)網(wǎng)格的“表”行中。
7. | 在查詢的“更新到”行中,在包含目標(biāo)字段的每一列中,添加源表的名稱以及源表中對應(yīng)于目標(biāo)表中字段的字段,并確保使用如下語法:[表].[字段],其中表名稱和字段名稱用方括號括起來,表名稱與字段名稱之間用句點(diǎn)分隔。 |
下圖顯示了使用示例表的設(shè)計(jì)網(wǎng)格的一部分。請注意“更新到”行中表名稱和字段名稱的語法。
在繼續(xù)執(zhí)行操作時(shí),請記住,必須在“更新到”行中正確拼寫表名稱和字段名稱,而且任何標(biāo)點(diǎn)符號都必須與原始表名稱和字段名稱中的標(biāo)點(diǎn)符號匹配。但是,大小寫不需要匹配。
8. | 在“設(shè)計(jì)”選項(xiàng)卡上的“結(jié)果”組中,單擊“運(yùn)行”。 |
9. | 在要求確認(rèn)更新時(shí),單擊“是”。 |
下表列出了 Access 提供的數(shù)據(jù)類型,說明了數(shù)據(jù)類型轉(zhuǎn)換所受的限制,并簡要描述了轉(zhuǎn)換過程中可能發(fā)生的數(shù)據(jù)丟失現(xiàn)象。
轉(zhuǎn)換為此類型 |
原始類型 |
更改或限制 |
文本 |
備注 |
Access 刪除前 255 個(gè)字符以外的所有字符。 |
數(shù)字 |
無限制。 |
|
日期/時(shí)間 |
無限制。 |
|
貨幣 |
無限制。 |
|
自動編號 |
無限制。 |
|
是/否 |
值 -1(“是/否”字段中的“是”)轉(zhuǎn)換為“是”。值 0(“是/否”字段中的“否”)轉(zhuǎn)換為“否”。 |
|
超鏈接 |
Access 截?cái)嚅L度超過 255 個(gè)字符的鏈接。 |
|
備注 |
文本 |
無限制。 |
數(shù)字 |
無限制。 |
|
日期/時(shí)間 |
無限制。 |
|
貨幣 |
無限制。 |
|
自動編號 |
無限制。 |
|
是/否 |
值 -1(“是/否”字段中的“是”)轉(zhuǎn)換為“是”。值 0(“是/否”字段中的“否”)轉(zhuǎn)換為“否”。 |
|
超鏈接 |
無限制。 |
|
數(shù)字 |
文本 |
文本必須由數(shù)字、有效貨幣以及小數(shù)分隔符組成。文本字段中的字符數(shù)必須在為數(shù)字字段設(shè)置的大小范圍內(nèi)。 |
備注 |
備注字段只能包含文本和有效貨幣以及小數(shù)分隔符。備注字段中的字符數(shù)必須在為數(shù)字字段設(shè)置的大小范圍內(nèi)。 |
|
數(shù)字,但具有不同的字段大小或精度 |
值不得大于或小于新字段大小可以存儲的值。更改精度可能導(dǎo)致 Access 對某些值進(jìn)行四舍五入。 |
|
日期/時(shí)間 |
可以轉(zhuǎn)換的日期取決于數(shù)字字段的大小。請記住,Access 將所有日期存儲為序列日期,并將日期值存儲為雙精度浮點(diǎn)整數(shù)。 在 Access 中,1899 年 12 月 30 日是日期 0。在 1899 年 4 月 18 日到 1900 年 9 月 11 日范圍以外的日期超出了字節(jié)字段的大小。在 1810 年 4 月 13 日到 1989 年 9 月 16 日范圍以外的日期超過了整型字段的大小。 若要容納所有可能的日期,請將數(shù)字字段的“字段大小”屬性設(shè)置為“長整型”或更大值。 |
|
貨幣 |
值不得超過(或小于)為該字段設(shè)置的大小限制。例如,只有當(dāng)值大于 255 但不超過 32,767 時(shí),才能將貨幣字段轉(zhuǎn)換為整型字段。 |
|
自動編號 |
值必須在為該字段設(shè)置的大小限制范圍內(nèi)。 |
|
是/否 |
“是”值轉(zhuǎn)換為 -1?!胺瘛敝缔D(zhuǎn)換為 0。 |
|
日期/時(shí)間 |
文本 |
原始文本必須是可識別的日期或日期/時(shí)間組合。例如,2007-01-18。 |
備注 |
原始文本必須是可識別的日期或日期/時(shí)間組合。例如,2007-01-18。 |
|
數(shù)字 |
值必須在 -657,434 和 2,958,465.99998843 之間。 |
|
貨幣 |
值必須在 -¥657,434 與 ¥2,958,465.9999 之間。 |
|
自動編號 |
值必須大于 -657,434 但小于 2,958,466。 |
|
是/否 |
值 -1(“是”)轉(zhuǎn)換為 1899 年 12 月 29 日。值 0(“否”)轉(zhuǎn)換為午夜 (12:00 AM)。 |
|
貨幣 |
文本 |
文本必須由數(shù)字和有效分隔符組成。 |
備注 |
文本必須由數(shù)字和有效分隔符組成。 |
|
數(shù)字 |
無限制。 |
|
日期/時(shí)間 |
無限制,但是 Access 可能對值進(jìn)行四舍五入。 |
|
自動編號 |
無限制。 |
|
是/否 |
值 -1(“是”)轉(zhuǎn)換為 $1,而值 0(“否”)轉(zhuǎn)換為 0$。 |
|
自動編號 |
文本 |
如果“自動編號”字段充當(dāng)主鍵,則不允許轉(zhuǎn)換。 |
備注 |
如果“自動編號”字段充當(dāng)主鍵,則不允許轉(zhuǎn)換。 |
|
數(shù)字 |
如果“自動編號”字段充當(dāng)主鍵,則不允許轉(zhuǎn)換。 |
|
日期/時(shí)間 |
如果“自動編號”字段充當(dāng)主鍵,則不允許轉(zhuǎn)換。 |
|
貨幣 |
如果“自動編號”字段充當(dāng)主鍵,則不允許轉(zhuǎn)換。 |
|
是/否 |
如果“自動編號”字段充當(dāng)主鍵,則不允許轉(zhuǎn)換。 |
|
是/否 |
文本 |
原始文本只能由“是”、“否”、“True”、“False”、“開”和“關(guān)”組成。 |
備注 |
原始文本只能由“是”、“否”、“True”、“False”、“開”和“關(guān)”組成。 |
|
數(shù)字 |
零或 Null 轉(zhuǎn)換為“否”,其他所有值轉(zhuǎn)換為“是”。 |
|
日期/時(shí)間 |
Null 或 12:00:00 AM 轉(zhuǎn)換為“否”,其他所有值轉(zhuǎn)換為“是”。 |
|
貨幣 |
零和 Null 轉(zhuǎn)換為“否”,其他所有值轉(zhuǎn)換為“是”。 |
|
自動編號 |
所有值轉(zhuǎn)換為“是”。 |
|
超鏈接 |
文本 |
如果原始文本包含有效的網(wǎng)址,例如,adatum.com、www.adatum.com 或 http://www.adatum.com,則 Access 會將文本轉(zhuǎn)換為超鏈接。Access 將嘗試轉(zhuǎn)換其他值,這意味著您會看到帶下劃線的文本,并且在您指向鏈接時(shí),光標(biāo)會發(fā)生變化,但鏈接不工作。文本可以包含任何有效的 Web 協(xié)議,包括 http://、gopher://、telnet://、ftp:// 和 wais://。 |
備注 |
請參閱上一條。適用同樣的限制。 |
|
數(shù)字 |
如果數(shù)字字段是關(guān)系的一部分,則不允許轉(zhuǎn)換。如果原始值采用有效的 Internet 協(xié)議 (IP) 地址形式(以句點(diǎn)分隔的四組數(shù),每組三個(gè)數(shù)字:nnn.nnn.nnn.nnn),并且數(shù)字恰好與某個(gè) Web 地址一致,則轉(zhuǎn)換將產(chǎn)生一個(gè)有效的鏈接。否則,Access 會在每個(gè)值的前面追加 http://,所得到的鏈接將無效。 |
|
日期/時(shí)間 |
Access 會在每個(gè)地址前面追加 http://,但所得到的鏈接幾乎永遠(yuǎn)不會有效。 |
|
貨幣 |
Access 會在每個(gè)值前面追加 http://,但與日期一樣,所得到的鏈接幾乎永遠(yuǎn)不會有效。 |
|
自動編號 |
如果自動編號字段是關(guān)系的一部分,則不允許轉(zhuǎn)換。Access 會在每個(gè)值前面追加 http://,但所得到的鏈接幾乎永遠(yuǎn)不會有效。 |
|
是/否 |
Access 將所有“是”值轉(zhuǎn)換為 -1,將所有“否”值轉(zhuǎn)換為 0,并在每個(gè)值前面追加 http://。所得到的鏈接無效。 |
如果您嘗試運(yùn)行某個(gè)動作查詢,但好像沒有什么反應(yīng),請查看 Access 狀態(tài)欄中是否顯示下列消息:
“此操作或事件已被禁用模式阻止?!?/span>
默認(rèn)情況下,除非您的數(shù)據(jù)庫位于受信任位置,或者數(shù)據(jù)庫已簽名并受信任,否則 Access 禁用所有動作查詢(更新查詢、追加查詢、刪除查詢或生成表查詢)。如果沒有執(zhí)行上述任一操作,仍可以通過單擊消息欄上的“啟用內(nèi)容”來對當(dāng)前數(shù)據(jù)庫會話啟用查詢。
如果習(xí)慣使用 SQL,也可以使用 SQL 視圖來編寫 UPDATE 語句。若要使用 SQL 視圖,先創(chuàng)建一個(gè)空的新查詢,然后切換到 SQL 視圖。
本節(jié)介紹 UPDATE 語句的語法,并提供示例。
UPDATE table SET newvalue WHERE criteria;
UPDATE 語句包含以下幾部分:
部分 |
描述 |
table |
表名,其中包含要修改的數(shù)據(jù)。 |
newvalue |
表達(dá)式,確定將哪些值插入已更新的記錄中的特定字段。 |
criteria |
確定將更新哪些記錄的表達(dá)式。只更新滿足表達(dá)式條件的記錄。 |
如果要更改許多記錄,或者要更改的記錄位于多個(gè)表中,那么 UPDATE 語句尤其有用。
可以同時(shí)更改若干字段。以下示例將英國貨主的“采購量”值增加 10%,“運(yùn)費(fèi)”值增加 3%:
UPDATE Orders
SET OrderAmount = OrderAmount * 1.1,
Freight = Freight * 1.03
WHERE ShipCountry = 'UK';