我正在使用MS Access,當然也是新手,我無法完全明白爲什麼我無法使其工作。這似乎應該是顯而易見的,因爲這必須是一個常見的問題。我試過在這裏和網絡的其他部分搜索,但是我發現似乎並不適合我,或者僅僅是不夠類似。WHERE date() - dateField> = -1數據類型不匹配
當我嘗試運行以下查詢時,我得到了「數據類型在標準表達式中不匹配」。我希望查詢返回小於或等於當前日期前1天的記錄。
我將兩個日期字段組合在一起,然後使用DateDiff()
來獲得不同之處:如果刪除WHERE語句,它將按預期工作。
SELECT DateDiff("d",Date(),DateValue([sDate])+TimeValue([stime])) AS Expr1, tblEncounters.EID
FROM tblEncounters
WHERE (((DateDiff("d",Date(),DateValue([sDate])+TimeValue([stime])))>=-1));
然後我試圖子查詢:
'--- qryEncountersDesc ---
SELECT DateDiff("d",Date(),DateValue([sDate])+TimeValue([stime])) AS Expr1, tblEncounters.EID
FROM tblEncounters;
SELECT tblEncounters.firstName, tblEncounters.lastName, qryEncountersDesc.Expr1
FROM tblEncounters INNER JOIN qryEncountersDesc ON tblEncounters.EID = qryEncountersDesc.EID
WHERE (((qryEncountersDesc.Expr1)>=-1));
我已經嘗試進行計算得到的時間差,他們都工作過的不同方式。但我想不出還有什麼要嘗試的WHERE語句。我試過formatnumber()CDbl()等。
我知道我要仔細考慮這個問題。我認爲有必要將輸入日期的日期/時間字段與輸入時間的日期/時間字段相結合,以獲得<=當前日期減1的準確返回值,但只需將sDate字段與WHERE語句一起使用AVG響應證明簡單有效。 – Eddie