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