An AcOutputObjectType constant indicating the type of object to export. The name of the object to export. If omitted, Access exports the active object of type ObjectType. An AcFormat constant indicating the export format. A Boolean that determines whether the application that handles OutputFile should open and load the file. Its default value is False.
|Published (Last):||12 June 2009|
|PDF File Size:||16.97 Mb|
|ePub File Size:||20.19 Mb|
|Price:||Free* [*Free Regsitration Required]|
OutputTo -Method. There is one aspect of using this very convenient method that I frequently see people struggle with. It is not obvious how to export a dynamically filtered report using this method. Other than the DoCmd. OpenReport -Method, the DoCmd. OutputTo -Method does not support to supply any criteria to the report the filter the data.
So, it seems to be a problem to export a report that displays different data sets depending on user input or other factors. All of these do work. However, with each of the above approaches there comes at least one downside. Matching the above order :.
If the report you are exporting is closed when you invoke DoCmd. OutputTo , the OutputTo -Method will open the report and export it. However, if the report you want to export is open already in preview acViewPreview when you invoke OutputTo , the DoCmd. OutputTo -Method will just export the report as it is! Considering this, it is very simple to solve the problem with exporting dynamically filtered reports.
You open the report using DoCmd. To prevent the report appearing on the screen in preview, you use the WindowMode acHidden , to open the report invisible to the user.
You then simply invoke DoCmd. There is only one thing that you must not forget to take care of. After opening the report in preview view, it will stay open, albeit invisible, until you explicitly close it.
OpenReport , the report will become visible but it will not re-query the data and will it still use the original criteria for filtering the data. In this case the report might display the wrong data set. Taking all this into account, our procedure to export a filtered report to PDF could look like this:. In a real-world implementation, based on this sample, you can pass in all 3 variables as arguments into the function and thus create a simple and flexible ExportToPDF routine for your Access application.
So, here we are. An elegant, yet very easy to implement, solution and it requires only 2 additional lines of code. I recorded a demonstration of the solution described here on video and published it to YouTube. I will never share your email with anyone. You can unsubscribe any time. This email list is hosted at Mailchimp in the United States.
The obvious workarounds that come to mind are usually one of the following: Create different reports with the criteria built in Create a parameter query referencing form fields or global functions as record source for the report. Build the SQL for the report at runtime and assign it to the report.
Matching the above order : It requires to create multiple very similar objects reports. It requires additional functions or a form and is rather inflexible. While all these approaches work, I would rather not recommend to use any of them. Luckily there is a very simple solution to the problem that is just not so obvious. Close acReport , reportName , acSaveNo End Sub In a real-world implementation, based on this sample, you can pass in all 3 variables as arguments into the function and thus create a simple and flexible ExportToPDF routine for your Access application.
Subscribe to RSS
A string expression that's the valid name of an object of the type selected by the ObjectType argument. If you want to output the active object, specify the object's type for the ObjectType argument and leave this argument blank. If you run Visual Basic code containing the OutputTo method in a library database, Microsoft Access looks for the object with this name, first in the library database, then in the current database. A string expression that's the full name, including the path, of the file you want to output the object to. If you leave this argument blank, Microsoft Access prompts you for an output file name. Use True —1 to start the appropriate Microsoft Windows—based application immediately, with the file specified by the OutputFile argument loaded.
How to Output a dynamically filtered Access report to PDF
This Access tutorial explains how to use DoCmd. OutputTo Method and DoCmd. TransferSpreadSheet Method to export different objects to specific file types, for example, export Query to xlsx. Access VBA auto generate mass report by group to Excel.