通过VBA在Microsoft Access中仅打开一页报表

时间:2012-01-30 16:00:23

标签: ms-access vba

我想要做的很简单,但我对VBA完全不熟悉。我想打开一个报告并按页码过滤它,这样我就可以打开,比方说,只打开第2页。我已经有一个变量显示它的页数。我只需要知道在DoCmd.OpenReport函数的过滤器参数中放入什么。

总体目标是将每个页面导出为单独的PDF。如果我能做到这一点,我可以做其余的事情,但如果有一些非常简单的事情我会失踪,我愿意接受建议。感谢。

顺便说一句,这是Access 2010。

1 个答案:

答案 0 :(得分:1)

要打印单页,您可以使用打印机对象(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

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