Solved

Problems Closing a Report with Detail Formatting

Posted on 2014-04-01
4
346 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 45

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

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

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…
Overview: This article:       (a) explains one principle method to cross-reference invoice items in Quickbooks®       (b) explores the reasons one might need to cross-reference invoice items       (c) provides a sample process for creating a M…
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…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…

762 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

21 Experts available now in Live!

Get 1:1 Help Now