?
Solved

Using VBA export reports to rtf files with criteria

Posted on 2008-10-02
2
Medium Priority
?
1,590 Views
Last Modified: 2013-11-27
Hello,

I'm trying to export a report to an various rtf files depending on criteria.  The code currently loops through a record set and will export the file but how do I pass it crieria to limit the record set.
With CurrentDb.OpenRecordset("Select Distinct Department from new;", dbOpenForwardOnly)
    While Not .EOF      
        DoCmd.OutputTo acOutputReport, "testreport", acFormatRTF, "C:\exports\" & !Department
   
        .MoveNext
    Wend
.Close
End With

Open in new window

0
Comment
Question by:eshurak
2 Comments
 
LVL 77

Accepted Solution

by:
peter57r earned 2000 total points
ID: 22626870
You can't easily.
OutputTo doesn't use filters or Where clauses.

You willhave to find some way of setting the report's recordsource based on the department.
Maybe setting the report's query sql to a value that includes the dapartment criteria.


strsql = " Select * from table where dpartment = '" &  rs!department & "'"
currentdb.querydefs("reportqueryname").sql = strsql
docmd.outputto ......
0
 
LVL 3

Author Comment

by:eshurak
ID: 22627034
Yeah, I just wrote the code below using a similer concept.  It works, but it's ugly.
Dim sql As String
Dim qd As QueryDef
 
Set qd = CurrentDb.QueryDefs("ReportData")
 
With CurrentDb.OpenRecordset("Select Distinct Department from new;", dbOpenForwardOnly)
    While Not .EOF
    
    sql = "SELECT * FROM new WHERE (((new.Department)='" & !Department & "'));"
    qd.sql = sql
    
    
    DoCmd.OutputTo acOutputReport, "testreport", acFormatRTF, "C:\rtf\" & !Department & ".rtf"
    
        .MoveNext
    Wend
.Close
End With

Open in new window

0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In Part II of this series, I will discuss how to identify all open instances of Excel and enumerate the workbooks, spreadsheets, and named ranges within each of those instances.
If you need a simple but flexible process for maintaining an audit trail of who created, edited, or deleted data from a table, or multiple tables, and you can do all of your work from within a form, this simple Audit Log will work for you.
With Microsoft Access, learn how to specify relationships between tables and set various options on the relationship. Add the tables: Create the relationship: Decide if you’re going to set referential integrity: Decide if you want cascade upda…
Do you want to know how to make a graph with Microsoft Access? First, create a query with the data for the chart. Then make a blank form and add a chart control. This video also shows how to change what data is displayed on the graph as well as form…

862 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question