Solved

Close all open reports

Posted on 2010-11-28
8
454 Views
Last Modified: 2012-05-10
I have this code that I have adapted from a post i found on here.
I want to close all open reports in the current database

The code is in the Timer event of a hidden form (frmRprtTimer) that opens when any report opens.

Option Compare Database
Option Explicit

Private Sub Form_Timer()
On Error GoTo Err_Form_Timer
Dim rpt As Report
Dim db As Database
Dim cont As Container
    Set db = CurrentDb()
    Set cont = db.Containers("Reports")
    For Each rpt In cont
        DoCmd.Close
    Next rpt
    DoCmd.Close acForm, "frmRprtTimer"
Exit_Form_Timer:
    Exit Sub
Err_Form_Timer:
    MsgBox Err.Description
    Resume Exit_Form_Timer
End Sub

I keep getting an error.
Can anyone help?
0
Comment
Question by:Stephen Byrom
  • 4
  • 4
8 Comments
 
LVL 65

Expert Comment

by:rockiroads
ID: 34226192
when you close the report via docmd.close you have to specify the type and report name (like your timer)
eg

docmd.close acreport, rpt.name
0
 
LVL 65

Accepted Solution

by:
rockiroads earned 250 total points
ID: 34226203
try this alternative


Private Sub Form_Timer()
    CloseAllReports
    DoCmd.Close acForm, "frmRprtTimer"
End Sub

Private Sub CloseAllReports()

    Dim i As Integer
    Dim sName As String
    
    For i = 0 To CurrentDb.Containers("Reports").Documents.count - 1
        sName = CurrentDb.Containers("Reports").Documents(i).Name
        Debug.Print "Closing", sName
        DoCmd.Close acReport, sName
    Next i
    
End Sub

Open in new window

0
 
LVL 1

Author Comment

by:Stephen Byrom
ID: 34226206
Tried that rocki.
I get
"Operation is not supported for this type of object"
0
Complete VMware vSphere® ESX(i) & Hyper-V Backup

Capture your entire system, including the host, with patented disk imaging integrated with VMware VADP / Microsoft VSS and RCT. RTOs is as low as 15 seconds with Acronis Active Restore™. You can enjoy unlimited P2V/V2V migrations from any source (even from a different hypervisor)

 
LVL 1

Author Closing Comment

by:Stephen Byrom
ID: 34226218
Your alternative code worked great.
Thanx for the help.
Much appreciated
0
 
LVL 65

Expert Comment

by:rockiroads
ID: 34226227
no worries :)
0
 
LVL 1

Author Comment

by:Stephen Byrom
ID: 34226253
Getting answers and code from here has taught me a lot, and is much appreciated.
I have managed to build a decent Stock database with yours and other's help.
Is there a book or some other refernece that you would recommend that I could learn more about coding in VBA?
0
 
LVL 65

Expert Comment

by:rockiroads
ID: 34226318
I don't know of any books as my vba knowledge is all self taught. I did find one useful site for noobs though that you may find useful
http://functionx.com/vbaccess/index.htm
0
 
LVL 1

Author Comment

by:Stephen Byrom
ID: 34229359
Thanx Rocki.
Very usefull site.
0

Featured Post

Free Tool: Postgres Monitoring System

A PHP and Perl based system to collect and display usage statistics from PostgreSQL databases.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

In the previous article, Using a Critera Form to Filter Records (http://www.experts-exchange.com/A_6069.html), the form was basically a data container storing user input, which queries and other database objects could read. The form had to remain op…
QuickBooks® has a great invoice interface that we were happy with for a while but that changed in 2001 through no fault of Intuit®. Our industry's unit names are dictated by RUS: the Rural Utilities Services division of USDA. Contracts contain un…
Familiarize people with the process of utilizing SQL Server views from within Microsoft Access. Microsoft Access is a very powerful client/server development tool. One of the SQL Server objects that you can interact with from within Microsoft Access…
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…

791 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