我有一个包含用于用户输入的两个文本框的表单。两个文本框都将“属性”格式设置为“短日期”。一个是“开始日期”,另一个是“结束日期”。我也有几个表,每个表都有一个DateTime字段(“studystartdatetime”)。我希望能够查询这些表,但将结果限制为DateTime字段在输入日期(含)之间的行。目前,该条件是:Access 2007:查询两个短日期值之间的日期时间字段
WHERE s.studystartdatetime BETWEEN forms!frmMain!txtstartdate AND forms!frmmain!txtenddate
然而,这不返回发生指定的结束日期的行。
我已经试过CDATE,格式,则DateValue的每一个组合,我能想到的,其中用于包装一个或所有这些领域,但我总是收到相同的神秘的错误:
The expression is typed incorrectly, or it is too complex to be evaluated. For example, a numeric expression may contain too many complicated elements. Try simplifying the expression by assigning parts of the expression to variables.
一些例子的条件我曾尝试:
WHERE CDate(Format(s.studystartdatetime, "yyyy/mm/dd")) BETWEEN forms!frmMain!txtstartdate AND forms!frmmain!txtenddate
WHERE DateValue(Format(s.studystartdatetime, "yyyy/mm/dd")) BETWEEN forms!frmMain!txtstartdate AND forms!frmmain!txtenddate
WHERE CDate(Format(s.studystartdatetime, "yyyy/mm/dd")) BETWEEN CDate(Format(forms!frmMain!txtstartdate, "yyyy/mm/dd")) AND CDate(Format(forms!frmmain!txtenddate, "yyyy/mm/dd"))
WHERE DateValue(Format(s.studystartdatetime, "yyyy/mm/dd")) BETWEEN CDate(Format(forms!frmMain!txtstartdate, "yyyy/mm/dd")) AND CDate(Format(forms!frmmain!txtenddate, "yyyy/mm/dd"))
WHERE DateValue(Format(s.studystartdatetime, "Short Date")) BETWEEN forms!frmMain!txtstartdate AND forms!frmmain!txtenddate
等等
任何输入到这将不胜感激:)
我曾考虑过这样做,但出于某种原因,只是认为不可能添加到这样的日期值。无论如何,谢谢! – Richard 2009-10-07 17:33:16