过滤报告查询
Filtering a report query
这里还是一个初级访问程序员。试图让报告发挥作用。这是我正在做的
我首先使用以下查询作为输入使用报表向导创建了一个报表
SELECT EmployeeId, Project, StartDate
FROM Tasks;
我有一个表单,其中我 select 员工 ID。我想根据员工 ID selected 过滤报告。这是我调用报告的内容
DoCmd.OpenReport "rptEmpWork", acViewPreview, "qryEmpReport", "EmployeeId = " & strempid
qryEmpReport 是保存我上面提到的报告查询的查询的名称。 strempid 保存在表单中 selected 的值。但是,当我开始执行此操作时,它会提示我再次输入员工 ID。关于我为什么得到这个的任何想法?我已经验证以确保 strempid 确实包含之前 selected 的值。
我猜 Tasks.EmployeeId
是文本数据类型。如果我的猜测是正确的,请在您为 EmployeeId
:
提供的值周围添加引号
DoCmd.OpenReport "rptEmpWork", acViewPreview, "qryEmpReport", "EmployeeId = '" & strempid & "'"
根据我们在评论中的故障排除练习,我认为您应该给自己一个机会来检查您为 OpenReport
提供的实际字符串值的 WhereCondition 参数。 (最好查看实际的字符串,而不是试图想象它的样子。)
Dim strWhereCondition As String
strWhereCondition = "EmployeeId = '" & strempid & "'"
Debug.Print "strWhereCondition ->" & strWhereCondition & "<-"
DoCmd.OpenReport "rptEmpWork", acViewPreview, "qryEmpReport", strWhereCondition
在即时 window 中查看 Debug.Print
的输出; Ctrl+g 会带你到那里。
这里还是一个初级访问程序员。试图让报告发挥作用。这是我正在做的
我首先使用以下查询作为输入使用报表向导创建了一个报表
SELECT EmployeeId, Project, StartDate
FROM Tasks;
我有一个表单,其中我 select 员工 ID。我想根据员工 ID selected 过滤报告。这是我调用报告的内容
DoCmd.OpenReport "rptEmpWork", acViewPreview, "qryEmpReport", "EmployeeId = " & strempid
qryEmpReport 是保存我上面提到的报告查询的查询的名称。 strempid 保存在表单中 selected 的值。但是,当我开始执行此操作时,它会提示我再次输入员工 ID。关于我为什么得到这个的任何想法?我已经验证以确保 strempid 确实包含之前 selected 的值。
我猜 Tasks.EmployeeId
是文本数据类型。如果我的猜测是正确的,请在您为 EmployeeId
:
DoCmd.OpenReport "rptEmpWork", acViewPreview, "qryEmpReport", "EmployeeId = '" & strempid & "'"
根据我们在评论中的故障排除练习,我认为您应该给自己一个机会来检查您为 OpenReport
提供的实际字符串值的 WhereCondition 参数。 (最好查看实际的字符串,而不是试图想象它的样子。)
Dim strWhereCondition As String
strWhereCondition = "EmployeeId = '" & strempid & "'"
Debug.Print "strWhereCondition ->" & strWhereCondition & "<-"
DoCmd.OpenReport "rptEmpWork", acViewPreview, "qryEmpReport", strWhereCondition
在即时 window 中查看 Debug.Print
的输出; Ctrl+g 会带你到那里。