2017-06-07 27 views
0

我有一個函數,昨天,它返回給定月份的最後一天。下面的代碼...使用日期加入數據類型不匹配

Function lastday(dteAny As Date) As Date 
lastday = DateSerial(Year(dteAny), Month(dteAny) + 1, 1) - 1 
End Function 

我試圖運行你看到下面的查詢..

Select cc.cred_id, lastday(dateadd("m", 5, date())) as [due], 
lastday(dateadd("m", 36, a.activity_date)) as [report] 

from cred_core as cc 

inner join activity as a on (a.cred_id = cc.cred_id and a.activity_type = 
"recred sent" and lastday(dateadd("m", 5, date())) = lastday(dateadd("m", 
36, a.activity_date))) 

我得到的加入下半年的錯誤提醒我數據類型不匹配的,我在哪裏使用最後一天的功能。

我試着圍繞lastday函數用#delimeters希望它會將它轉換成實際可以比較的東西,但我認爲這些delimeters不起作用?

任何想法我能做些什麼來解決這個問題? activity_date當然是日期/時間數據類型。使用Access 2007-2013。

回答

0

這些類型的連接在Access中不受支持。嘗試在條件中設置日期。

SELECT cc.cred_id, lastday(DateAdd("m", 5, Date())) As [due], 
     lastday(DateAdd("m", 36, a.activity_date)) As [report] 
FROM cred_core as cc INNER JOIN activity As a ON (a.cred_id = cc.cred_id) 
WHERE a.activity_type = "recred sent" 
    AND lastday(DateAdd("m", 5, date())) = lastday(DateAdd("m", 36, a.activity_date));