我对报告有一个快速的问题。我有一个报告有两个未绑定的子报告(数据来自两个不同的数据库,不共享任何信息。我通常使用一个简单的UI来选择不同的选项并生成一个字符串,然后打开报告,即,单独打开这些报告,即
DoCmd.OpenReport str_rptname, acViewReport, , strWhere
strWhere由UI
制作现在我已将它们合并到一个报告中,字符串不起作用。是否可以将where字符串传递给子表单?如果是这样,我该怎么做呢?还有其他/更好的方法吗?
谢谢!
答案 0 :(得分:1)
据我所知,你在评论中写道时正确地指出了问题:
我相信这是因为字符串打开了主报告 在那里设置过滤器,但子报告没有绑定如此开放 未过滤的
因为子报表是未绑定的,所以需要为它们提供完整的记录集,而不仅仅是WHERE子句。像这样:
dim whereClause As String
dim strRecordset as String
'***Build your where clause
strRecordset = _
"SELECT yourColumns " & _
"FROM yourTables " & _
"WHERE " & whereClause
Me.subreport.recordset = strRecordset
Me.subreport.Requery
重新查询可能是可选的。