Solved

Problems Closing a Report with Detail Formatting

Posted on 2014-04-01
4
347 Views
Last Modified: 2014-05-02
I have a report for which I have built a filter form.  The filter form opens first, giving the end user seven drop down boxes with choices they can select to filter the impending report (i.e. Name, Date, Manager Name, etc).  The query associated with the report is programmed to filter based on the selections from the form and, if none of the selections are chosen, assume null for them and return all records.

I am trying to resolve the event of a filter set returning no records.  I tried to create a separate make-table query to create a temporary table before running the report with the same filtered record set.  Then, if the table was empty, don't run the report at all.  This didn't work because the query apparently is so complex I couldn't get it to work as anything other than a select query.

So, I turned to the report itself and I see there is an event option for "On No Data".  So, I tried to set it up to do a DoCmd.Close on this event.  The problem is that I have code in the On Format event of the detail area.  And, it seems to want to run this code before closing itself.  This returns a run-time error 2585.  I tried to pass variables from the On No Data section and wrap the On Format in an If statement saying don't process this if variable equals 1.  That doesn't work.

Can anyone share some ways to get a report to close if no records are present?  Is there a way to stop it from trying to process the On Format event of the Detail section if no records are returned?
0
Comment
Question by:jmcclosk
  • 2
4 Comments
 
LVL 84

Accepted Solution

by:
Scott McDaniel (Microsoft Access MVP - EE MVE ) earned 400 total points
ID: 39971902
You should trap that 2585 error on the Filter form. I assume you have a button that actually opens the report, so do this:

Function MyButton_Click()
  On Error GoTo ErrHandler

  [code here to open the report]

Exit:
  Exit Function

ErrHandler:
  Select case Err.Number
    Case 2585
      ' do nothing
    Case Else
       Msgbox Err.Description
  End Select
0
 
LVL 46

Expert Comment

by:Martin Liss
ID: 40026979
I've requested that this question be deleted for the following reason:

Not enough information to confirm an answer.
0
 
LVL 84
ID: 40026980
The method I show (which includes a code sample) are the correct way to handle a "No Data" error from an Access report. Essentially the report will throw the error back to the calling routine (the form, in this case) and that calling routine must handle the error.

the Error Handler structure I suggested will do exactly that.
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

When trying to find the cause of a problem in VBA or VB6 it's often valuable to know what procedures were executed prior to the error. You can use the Call Stack for that but it is often inadequate because it may show procedures you aren't intereste…
A simple tool to export all objects of two Access files as text and compare it with Meld, a free diff tool.
Learn how to number pages in an Access report over each group. Activate two pass printing by referencing the pages property: Add code to the Page Footers OnFormat event to capture the pages as there occur for each group. Use the pages property to …
In Microsoft Access, learn different ways of passing a string value within a string argument. Also learn what a “Type Mis-match” error is about.

929 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

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now