运行 报告时出现提示

Prompt comes up when running report

我已经根据以下查询创建了一个报告

SELECT TasksEntries.Project, TasksEntries.Task, Sum(TimeTracker.WorkHours) AS 
TotalHours
FROM TasksEntries INNER JOIN TimeTracker 
ON (TasksEntries.EmployeeId = TimeTracker.EmployeeId) AND (TasksEntries.TaskID
= TimeTracker.TaskId)
GROUP BY TasksEntries.Project, TasksEntries.Task;

开始日期和结束日期是从表单中捕获并传递的,如下所示。 WorkDate 是 TimeTracker table 中的一列,不存在于任何其他 table.

strWhere = "WorkDate BETWEEN #" & txtMgrRptStartDate & "# AND #" &  
txtMgrRptEndDate & "#"
DoCmd.OpenReport "rptTotalProjectHours", acViewPreview, 
"qryTotalProjectHours", strWhere, acWindowNormal

调用报告时,我得到一个框,上面写着 "Enter parameter value" for Workdate.. 我不确定为什么会这样。

当我 运行 将开始日期和结束日期硬编码在其中时,查询 运行 没问题。问题似乎只有在通过 docmd.openreport 时才会出现。有人可以帮我弄个水落石出吗?通过 OpenReport 传递 WorkDate 时,列名是否必须出现在 SELECT 语句中?

提前感谢您的帮助。

我通过在 SELECT 语句的 WHERE 子句中包含日期条件并指定开始日期和结束日期的表单文本框名称来解决它。

我做的另一件事是从 Docmd.openreport 中删除查询名称,因为报告是从命名查询创建的。