通过VBA在Microsoft Access中只打开一页报告



我想做的很简单,但我对VBA完全陌生。我想打开一个报告并按页码进行筛选,这样我就可以打开,比如说,只打开第2页。我已经有了一个关于它有多少页的变量。我只需要知道在DoCmd.OpenReport函数的filter参数中放什么。

总体目标是将每个页面导出为单独的PDF。如果我能做到以上几点,我也能做到剩下的,但如果我缺少一些非常简单的东西,我愿意接受建议。谢谢

顺便说一下,这是Access 2010。

要打印单页,您可以使用打印机对象(http://msdn.microsoft.com/en-us/library/ff837177.aspx)和PrintOut命令(http://msdn.microsoft.com/en-us/library/aa220516(v=office.11).aspx),但是,您似乎有一个自然的中断,例如客户记录,这些中断可以与OpenReport的Where参数一起使用,以轻松获得单独的报告。

编辑重新评论

非常粗略:

sSQL = "SELECT SuitableField FROM Atable ORDER BY Something"
Set rs = CurrentDB.OpenRecordset(sSQL)
Do While Not rs.EOF
   DoCmd.OpenReport "TheReport", acViewNormal, , _
       "SuitableField='" & rs!SuitableField & "'"
   rs.MoveNext
Loop

您可能希望做一些工作,以确保您选择的报告中包含数据。

最新更新