我有一個從單個表中生成的查詢。使用表單來爲我的查詢設置標準我遇到了空值問題。我會在下面簡化我的問題。訪問查詢以包含所有值,包括空值
表 [許可證] 的表稱爲許可證。有一個字段我想過濾,稱爲狀態。在「狀態」字段中,有以下條目:空值,「已完成」和「已取消」。本質上,空值表示許可證狀態已打開。
在表單中: [FormQuery] 該表單稱爲FormQuery,並具有允許用戶爲其查詢選擇條件的複選框。該表格有四個複選框,名稱分別爲:全部,已完成,已打開,已取消。
查詢中:通過[Permits]過濾![Status] 查詢中有許多字段。與性判據的唯一字段是輸入(Permits.Status)。以下標準:
In (IIf([Forms]![FormQuery]![Completed]=True,"COMPLETED",""),
IIf([Forms]![FormQuery]![Cancelled]=True,"Cancelled",""),
IIf([Forms]![FormQuery]![All]=True,[Permits]![Status],""))
據我瞭解IN(...)
是設置的標準的列表。標準取決於形式檢查,如在[Forms]![FormQuery]![Completed]=true
部分中所見。如果該框被選中,則傳遞一個字符串,否則爲「」空值。所以當剛剛完成檢查時,該列表看起來像In (completed)
表單工作。當我選中「完成」複選框時,查詢將顯示全部完成。它與取消和全部複選框的工作方式類似。一個問題是,在最後一行中找到的代碼,特別是[permits]![status]
部分的代碼只會引出填充的條目,並且空值被遺漏。
我將如何搜索空值以及如何在所有查詢中包含空值?
任何幫助將不勝感激。
感謝您的參考。我覺得我所做的實質上是參數查詢並將輸入限制在表單上找到的內容。我是否正確地認爲? 此外,如果我輸入代碼: – Dre 2014-09-19 21:12:52
另外,如果我嘗試: IIf([Forms]![FormQuery]![打開] =真,爲空,「」) 我得到了:這個表達式輸入錯誤,或者它太複雜,無法評估。例如,數字表達式可能包含太多複雜的元素。嘗試通過將部分表達式分配給變量來簡化表達式。 當刪除所有條件並開始新鮮時,我可以輸入條件爲空並獲取所有空值 – Dre 2014-09-19 21:20:16