2015-06-03 90 views
1

所以我不確定這裏發生了什麼,但是在我的數據庫中我有一個包含1000條記錄的表,其中36個[workername]爲空。我試圖運行這個SQL來選擇未分配的空[workername]記錄進行分配,但是當我將代碼置於查詢設計和查看模式時,沒有填充任何記錄。我真的不知道爲什麼這不起作用。SQL NULL語句不起作用MS Access

strSQL = "SELECT IntakeID, 
       caseid, 
       [Program], 
       [language] 
      FROM Intake 
      WHERE workername Is Null" 
    Set rs = db.OpenRecordset(strSQL, dbOpenDynaset) 
+1

檢查該字段是否包含空字符串:'WHERE萊恩(workername)= 0' – HansUp

回答

2

試試這個code..Here首先它會使用Nz替換空值'',如果不爲空,將修剪的值,以確保有沒有空間,檢查它等於''手段empty..hope這將有助於

"SELECT IntakeID, 
caseid, 
[Program], 
[language] 
FROM 
Intake WHERE LTRIM(RTRIM(Nz(workername, ''))) = ''" 
+0

每個人都應該從字面上投票這!!!我已經看到這個問題的無處不在這是唯一的工作! – Lilly

0

該查詢看起來有效,所以我會質疑列是否實際爲空。

你可以試試下面的找出肯定

SELECT 
    IntakeID, 
    caseid, 
    [Program], 
    [language] , 
    ISNULL(workername) 
FROM Intake 
    ORDER BY ISNULL(workername) ASC 
+0

對於一些奇怪的原因,一個'表達式1 :IsNull([workername])'但是workername實際上是作爲一個選項在下拉列表中,代碼可以用於900多個其他記錄,所以這很奇怪。 – Lilly

+0

難道你只是愛訪問:) – Prime03

+0

哈哈哈哈這是我的第一個打嗝:(所以我假設沒有修復... – Lilly