繁体   English   中英

检索介于用户指定日期之间的访问记录

[英]retrieve access records that fall between user specified dates

该表的日期字段为文本。 SQL语句是:

"SELECT datefield, anotherfield FROM tablename WHERE CDate(datefield) BETWEEN #" & dateStart & "# AND #" & dateEnd & "#"

dateStartdateEnd是字符串,例如“ 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中存储和检索日期。 但是,我只使用了一个字段,而不是透视图dateStartdateEnd 我建议您只创建一个字段来存储日期。 这是我使用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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM