[英]retrieve access records that fall between user specified dates
該表的日期字段為文本。 SQL語句是:
"SELECT datefield, anotherfield FROM tablename WHERE CDate(datefield) BETWEEN #" & dateStart & "# AND #" & dateEnd & "#"
dateStart
和dateEnd
是字符串,例如“ 10/02/2017”和“ 10/4/2017”。 我使用CDate
將字符串datefield
轉換為日期,並在開始和結束日期字符串周圍加括號#,以便將它們視為日期。 從字面上看,我嘗試了WHERE子句的數十種不同變體,但是沒有運氣。 任何建議表示贊賞。
我當然同意不應將日期存儲為文本。 但是,如果您堅持使用表格設計,則需要對所有三個“日期”字段使用CDate:
SELECT CDate([datefield]) AS myDate, anotherfield
FROM Table2
WHERE (((CDate([datefield])) Between CDate([dateStart]) And CDate([dateEnd])));
我還使用了您的方法在mySQL中存儲和檢索日期。 但是,我只使用了一個字段,而不是透視圖dateStart
和dateEnd
。 我建議您只創建一個字段來存儲日期。 這是我使用VB.NET設法在這些日期之間捕獲值的方法。
SELECT datefield, anotherfield FROM tablename WHERE datestoredfield BETWEEN '" & selectedDateFrom.toString("MM/dd/yyyy") & "' AND '" & selectedDateTo.toString("MM/dd/yyyy") & "';
我在選定日期的末尾指示了.toString("MM/dd/yyyy")
,因為您當前在日期字段中存儲的日期格式為MM/dd/yyyy
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.