刪除Access數(shù)詞庫(kù)中的空記錄:
用零長(zhǎng)度字符指示不存在數(shù)據(jù)
若要在 Microsoft Access 數(shù)據(jù)庫(kù)中指示不存在數(shù)據(jù),可以在“文本”或“備注”字段輸入零長(zhǎng)度字符串 (零長(zhǎng)度字符串:不含字符的字符串??梢允褂昧汩L(zhǎng)度字符串來(lái)表明您知道該字段沒(méi)有值。輸入零長(zhǎng)度字符串的方法是鍵入兩個(gè)彼此之間沒(méi)有空格的雙引號(hào) (" ")。)。在連接到 Microsoft SQL Server 數(shù)據(jù)庫(kù)的 Microsoft Access 項(xiàng)目 (Microsoft Access 項(xiàng)目:與 Microsoft SQL Server 數(shù)據(jù)庫(kù)連接且用于創(chuàng)建客戶/服務(wù)器應(yīng)用程序的 Access 文件。項(xiàng)目文件中不包含任何數(shù)據(jù)或基于數(shù)據(jù)定義的對(duì)象(如表或視圖)。)中,可以在其數(shù)據(jù)類型 (數(shù)據(jù)類型:決定字段可擁有的數(shù)據(jù)類型的字段特征。數(shù)據(jù)類型包括 Boolean、Integer、Long、Currency、Single、Double、Date、String 和 Variant(默認(rèn))。)為 varchar 或 nvarchar 的字段中輸入零長(zhǎng)度字符串。
打開(kāi)數(shù)據(jù)表 (“數(shù)據(jù)表”視圖:以行列格式顯示來(lái)自表、窗體、查詢、視圖或存儲(chǔ)過(guò)程的窗口。在“數(shù)據(jù)表”視圖中,可以編輯字段、添加和刪除數(shù)據(jù),以及搜索數(shù)據(jù)。),或在“窗體”視圖 (“窗體”視圖:一個(gè)顯示窗體以便顯示或接受數(shù)據(jù)的窗口?!按绑w”視圖是添加和修改表中數(shù)據(jù)的主要方式。在該視圖中還可以更改窗體的設(shè)計(jì)。)中打開(kāi)窗體。
若要在字段中輸入零長(zhǎng)度字符串,請(qǐng)鍵入中間不帶空格的雙引號(hào) (" ")。
即使在移到其他字段或?qū)ο髸r(shí)雙引號(hào)將消失,但該字段仍為零長(zhǎng)度字符串。
Null 值與零長(zhǎng)度字符串的區(qū)別 (MDB)
/*注釋 本主題中的信息僅適用于 Microsoft Access 數(shù)據(jù)庫(kù) (.mdb)。*/
在查看含有 Null (Null:可以在字段中輸入或用于表達(dá)式和查詢,以標(biāo)明丟失或未知的數(shù)據(jù)。在 Visual Basic 中,Null 關(guān)鍵字表示 Null 值。有些字段(如主鍵字段)不可以包含 Null 值。) 值和零長(zhǎng)度字符串 (零長(zhǎng)度字符串:不含字符的字符串。可以使用零長(zhǎng)度字符串來(lái)表明您知道該字段沒(méi)有值。輸入零長(zhǎng)度字符串的方法是鍵入兩個(gè)彼此之間沒(méi)有空格的雙引號(hào) (" ")。)的數(shù)據(jù)時(shí),字段看起來(lái)是相同的,都沒(méi)有任何值。但可以用表達(dá)式 (表達(dá)式:算術(shù)或邏輯運(yùn)算符、常數(shù)、函數(shù)和字段名稱、控件和屬性的任意組合,計(jì)算結(jié)果為單個(gè)值。表達(dá)式可執(zhí)行計(jì)算、操作字符或測(cè)試數(shù)據(jù)。)來(lái)區(qū)分 Null 值和零長(zhǎng)度字符串。
在“設(shè)計(jì)”視圖 (“設(shè)計(jì)”視圖:顯示數(shù)據(jù)庫(kù)對(duì)象(包括:表、查詢、窗體、宏和數(shù)據(jù)訪問(wèn)頁(yè))的設(shè)計(jì)的窗口。在“設(shè)計(jì)”視圖中,可以新建數(shù)據(jù)庫(kù)對(duì)象和修改現(xiàn)有數(shù)據(jù)庫(kù)對(duì)象的設(shè)計(jì)。)中打開(kāi)窗體、報(bào)表或數(shù)據(jù)訪問(wèn)頁(yè)。
在查詢?cè)O(shè)計(jì)網(wǎng)格 (設(shè)計(jì)網(wǎng)格:在查詢“設(shè)計(jì)”視圖或“高級(jí)篩選/排序”窗口中設(shè)計(jì)查詢或篩選時(shí)所用的網(wǎng)格。對(duì)于查詢,該網(wǎng)格以前稱為“QBE 網(wǎng)格”。)的字段中,或在未綁定控件 (未綁定控件:未與基礎(chǔ)表、查詢中的字段或 SQL 語(yǔ)句連接的控件。未綁定控件通常用于顯示信息性文本或裝飾性圖片。)的控件來(lái)源中,鍵入下列表達(dá)式。將 fieldname 替換為包含 Null 值和零長(zhǎng)度字符串的字段名稱。
=IIf(IsNull([fieldname]),"Unknown",Format([fieldname],"@;ZLS"))
如果字段包含 Null,則表達(dá)式返回 “Unknown”,如果字段包含零長(zhǎng)度字符串,則表達(dá)式返回“ZLS”。否則,表達(dá)式將值返回到該字段中。
事情出現(xiàn)在工作中一次抓取網(wǎng)上信息的時(shí)候,可能考慮不全,抓到庫(kù)中的信息有部分是空的,這樣,我的必需將空的記錄刪除,試了好多辦法不行,最后才找到了上面的微軟的ACCESS幫助文檔才解決問(wèn)題。
執(zhí)行:
sql="delete from news where IIf(IsNull([City]),'Unknown',Format([City],'@;ZLS'))='Unknown'"
conn.execute(sql)
OK,解決。
更多信息請(qǐng)查看IT技術(shù)專欄