ms-access - 过滤报告查询

标签 ms-access vba ms-access-2007

这里仍然是一个初级 Access 程序员。试图让报告发挥作用。这就是我正在做的事情

我首先使用报表向导创建了一个报表,并使用以下查询作为输入

SELECT EmployeeId, Project, StartDate
FROM Tasks;

我有一个表格,其中我选择了员工 ID。我想根据所选员工 ID 过滤报告。这是我调用报告的内容

DoCmd.OpenReport "rptEmpWork", acViewPreview, "qryEmpReport", "EmployeeId = " & strempid

qryEmpReport 是保存我上面提到的报告查询的查询的名称。 strempid 保存在表单中选择的值。然而,当我执行此操作时,它会提示我再次输入员工 ID。关于我为什么得到这个有什么想法吗?我已经验证以确保 strempid 确实包含之前选择的值。

最佳答案

我猜 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

在立即窗口中查看Debug.Print的输出; Ctrl+g 将带您到达那里。

关于ms-access - 过滤报告查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28479242/

相关文章:

SQL 查询语法错误 - 字段名称中的空格

excel - vba 中的预期函数或变量错误

ms-access - 连接到加密/密码保护数据库的代码

sql - 如何在Access中模拟UNPIVOT?

ms-access - 在 MS Access 中为外键设置默认值或设置为空

ms-access - 更改 Access 中链接表中的表名称

vb.net - 如何在 vb.net 中备份 ms access 数据库?

vba - Excel宏执行碾压,试图简化公式

Excel-VBA 现在值 : Split Second

database - 如果我不创建记录集对象,是否需要在 MS Access 中关闭记录集?