【发布时间】:2018-05-23 15:26:48
【问题描述】:
我正在尝试打开一个包含两个日期(dateFrom 和 dateTo)之间的日期字段的报告,该日期字段来自表单中的文本框。
dateFrom = Forms!formOptions!txtDateFrom.Value
dateTo = Forms!formOptions!txtDateTo.Value
试过了:
(编辑:)
dateFrom 和 dateTo 变量周围有和没有“#”
& 带和不带 [] 的字段名称,仍然无法获取 这工作。
当我尝试这段代码时:
strCriteria = "[ActionTime] >= '" & dateFrom & "' And [ActionTime] <= '" & dateTo & "'"
DoCmd.OpenReport "reportLog", acViewReport, , strCriteria
将弹出一个“输入参数值”对话框,我检查了报告的控制源,字段名称正确,也没有发生排序或分组。
当我在上面的代码中的字段名称周围加上一对额外的 ' ' 时:
strCriteria = "'[ActionTime]' >= '" & dateFrom & "' And '[ActionTime]' <= '" & dateTo & "'"
DoCmd.OpenReport "reportLog", acViewReport, , strCriteria
报告正常打开,但不仅显示日期之间的记录,还显示所有记录。
也尝试过使用 WhereCondition:
DoCmd.OpenReport "reportLog", acViewReport, , WhereCondition:="'[ActionTime] >= #" & dateFrom & "# AND [ActionTime] <= #" & dateTo & "#'"
报告正常打开,但包含所有记录,而不遵循 WhereCondition。
我不知道这段编码的哪一部分是错误的,我已经参考了其他网站,但仍然无法检测出到底哪里错了。将不胜感激任何指导。提前致谢。
【问题讨论】: