使用Access 2003如何刪除空白行?
表1
ID Name Value
001 Raja 100
002 Ramu 200
004 Raqu 500
008 Ravi 250
...
在這裏,我想在我的表中刪除空行?
Delete from table1 ...?
期望輸出
ID名稱值
001 Raja 100
002 Ramu 200
004 Raqu 500
008 Ravi 250
...,
需要查詢的幫助。
使用Access 2003如何刪除空白行?
表1
ID Name Value
001 Raja 100
002 Ramu 200
004 Raqu 500
008 Ravi 250
...
在這裏,我想在我的表中刪除空行?
Delete from table1 ...?
期望輸出
ID名稱值
001 Raja 100
002 Ramu 200
004 Raqu 500
008 Ravi 250
...,
需要查詢的幫助。
Delete from table1
where ID=' '
and Name=' '
and Value=' '
或
Delete from table1
where ID is null
and Name is null
and Value is null
小心空白空間。製表符或回車符。這可能會導致SQL失敗,因爲該字段不是NULL,也不是一個空格。您可以使用ms-access中的某些內置函數isnumeric()來優化刪除條件。 – heferav 2009-10-18 10:58:58
IsNumeric()?這將如何幫助? – 2009-10-19 00:38:38
如果你的領域alow零長度字符串,可以在其中有空白,這裏有一個解決方案:
DELETE FROM table1
WHERE Len(Trim(ID & ''))=0
AND Len(Trim(Name & ''))=0
AND Len(Trim(Value & ''))=0;
我假設你正在寫你要在Access中執行的SQL,因爲Trim()和Len()是Access/VBA函數(都是由Access表達式服務使用VBA提供的,所以這不能通過ODBC或OLEDB工作)。
現在,忽略了這些字段中的其他類型的問題,如製表符或Cr/Lf字符。如果以上操作不會刪除所有行,那麼您必須在字段中查看實際字符,然後清除它們。
我也希望您的字段的名稱是假的,因爲NAME和VALUE都是Access保留字,並且應避免在Access/Jet/ACE中的任何級別的對象名稱中使用。
我會建議一個更通用的解決方案:
DELETE tblYourTable.*, tblYourTable.[OneFieldThatIsAlwaysEmpty]
FROM tNewTable
WHERE tNewTable.[OneFieldThatIsAlwaysEmpty] Is Null;
這要求,當然,你有你的表中的字段是忠實地空(NULL)
的好處是,你不必須定義表格中的所有單個字段。在上面的答案中,這是沒有問題的,因爲示例表只有兩個或三個字段。但通常桌子更大。
請注意,如果您的表格不是Access中的實際表格,而是一個所謂的「鏈接表格」,它會將數據從Excel。在這種情況下,您首先應該將數據傳輸到真正的Access表中。
(這已在Access 2010中測試過)
這沒有密鑰,因此不是表(這是問題的一半)。 – onedaywhen 2009-10-19 07:27:05