1
結合使用我有一個Access查詢來運行每個月。查詢中使用的日期是指先前協議的結束日期。以下是從SQL爲3月1日的數據運行的提取物,它返回它在截至2月份的所有信息協議:將DateSerial與> =&<
AND ((dbo_agreements_1.end_date)>=#2/1/2016#) AND ((dbo_agreements_1.end_date)<#3/1/2016#));
所以對於其將在4月1日跑出的數據(顯示協議截至3月份),我將不得不更改日期說:
AND ((dbo_agreements_1.end_date)>=#3/1/2016#) AND ((dbo_agreements_1.end_date)<#4/1/2016#));
是否有使用這裏的DateSerial
的方式,使得它使動態查詢(在這個意義上,我不會手動更改每月的日期)?我想沿着以下可能工作線的東西,但它的返回數據類型不匹配:
) AND ((dbo_agreements_1.end_date)>=DateSerial(Year([dbo_agreements_1]![end_date]),Month([dbo_agreements_1]![end_date])-1,1)) AND ((dbo_agreements_1.end_date)<DateSerial(Year([dbo_agreements_1]![end_date]),Month([dbo_agreements_1]![end_date]),1)));
這是你以後在做什麼? (Date()),Month(Date())-1,1)AND dbo_agreements_1.end_date = DateSerial –
HansUp
@HansUp - 將在1月份工作嗎? –
當然,'DateSerial()'很聰明。當月份= 1時,減去1,給出上一年的上個月...... 12月。用這個簡單的例子檢查一下:'DateSerial(Year(#2016-1-1#),Month(#2016-1-1#) - 1,1)'返回2015年12月1日(m/d/yyyy格式)。 – HansUp