2016-08-11 111 views
-1
SELECT (SignIn.VisitorFirstName & " " & SignIn.VisitorLastName) AS [Visitor Name], SignIn.SignInDateTime AS [Sign In Time], ([UserList.FirstName] & " " & [UserList.LastName]) AS Reason 
FROM SignIn INNER JOIN UserList ON SignIn.AssignedPO = UserList.POid 
WHERE (((SignIn.Complete)=No) AND ((Format([SignInDateTime],"Short Date")) Between #8/8/2016# And #8/10/2016#)) 
ORDER BY SignIn.SignInDateTime; 

我正在獲取超出範圍的日期的值。我的查詢沒有給出正確的訪問結果

查詢運行但返回錯誤的值。 (見下圖) **

編輯從評論:據8月8日之前返回值我DateTime字段的

**

enter image description here

屬性(SignInDateTime )

enter image description here

+1

好的。所以你聲明你得到的值超出了範圍,但沒有看到SignInDateTime列的任何數據,你認爲任何人都可以說出什麼可能是問題?此外,數據是什麼樣子的,以及您對查詢有什麼期望? _更多信息需要_ – jpw

+0

我的結果是從8/8之前獲取數據 –

+0

請告訴我爲什麼你會投票。我不是要求你爲我完成這項工作,而是要解釋爲什麼我的查詢沒有提供任何錯誤,以及爲什麼它在8/8/2016之前顯示值。它不顯示值後8/10/2016 –

回答

1

不知道這是什麼轉換/比較做

((Format([SignInDateTime],"Short Date")) 

你可能會使用安全CDate或只是字段本身 - 它看起來就像是一個日期時間字段反正

如果是一個日期/時間字段,嘗試改變這個

((Format([SignInDateTime],"Short Date")) 

爲TH是

([SignInDateTime] 
+0

這表明我在8/8的日期,但沒有在8/10。我認爲並且包含了開始和結束。它似乎越來越8/8和8/9 –

+0

你的BETWEEN命令8月10日結束 - 如果你想包括8/10的所有時間加上時間23:59:59到你的結束日期 - 即。 '#8/10/2016 23:59:59#' – dbmitch

+0

SELECT SignIn.VisitorFirstName As [First Name],SignIn.VisitorLastName As [Last Name],SignIn.SignInDateTime As [Sign In Time] FROM SignIn WHERE(((SignIn .Complete)=否)AND((SignIn。[SignInDateTime])#8/11/2014#和#8/12/2016 23:59:59#))ORDER BY SignIn.SignInDateTime; –

相關問題