2011-04-15 51 views
1
IIF(IsNull(now(),now()-1,now()) 

當我把這個函數isnull函數不工作。出現空白數據。訪問查詢/條件

+0

哪個你的問題? – Marco 2011-04-15 06:03:59

+0

你的函數中沒有空值,所以它不起作用。 – Crimsonland 2011-04-15 06:09:03

回答

2

首先,有一個右括號缺失:

IIF(ISNULL(NOW(),現在() - 1,現在())
(沒有使用代碼標記這裏所以我可以使括號爲粗體)

隨着括號的添加,這將始終返回當前日期(不減1),因爲Now()永遠不能爲空。

2

Access中的IsNull()與SQL Server中的IsNull()不同。在後者中,如果發現字段爲空,則返回不同的值,如IsNull([Field1],[Field2]),如果Field1爲Null,則返回Field2。

在Access中,IsNull()是一個布爾函數,它具有一個參數並用於確定傳遞給它的表達式是否爲空值。

對於等效的SQL Server IsNull(),您可以在Access中使用Nz(),但它不能從外部Access(通過ODBC或OLEDB)使用。在這種情況下,你必須把它轉換爲使用立即如果函數IIF(),並通過與ISNULL測試他們返回值:

  • SQL服務器:ISNULL([字段1],[字段2])
  • 訪問空到零:NZ([字段1],[字段2])
  • 訪問即時如果:IIF(ISNULL([字段1]),[字段2],[字段1])