Advertisement

03.19.2008 at 04:37PM PDT, ID: 23255506
[x]
Attachment Details
[x]
The Solution Rating System

With so many solutions, how can you tell which solutions are most likely to help you and which ones are not? To provide you with a tool to use, we rate our solutions based on various elements that most accurately determine if a solution is a quality solution. To explain what factors affect the solution rating, here are the elements we take into consideration when formulating our solution rating.

  • The Grade of the Solution
  • The Zone Rank of the Expert Providing the Solution
  • The Number of Author and Expert Comments
  • The Number of Experts Contributing
  • The Feedback of the Community

Your Input Matters
Because of the way the system is set up, the most important variable in this equation is you. As a member of Experts Exchange, you are able to cast your vote on the quality of the solutions in regard to how complete, accurate, helpful and easy to understand each solution is. When you provide your feedback, each rating is adjusted accordingly. So, if you see a solution that has a poor rating that you think is a good solution, let us know by rating it. As you do, the rating will be adjusted and will become more accurate for other members of our site.

If you have any suggestions that you would like to make for our rating system, please ask a question in the Suggestions Zone of Community Support.

Thank you!

Exit From From Form Load Event

Tags: Access, 2000
I know, why bother going to the form if you are going to exit in the 'Load' event.  The situation is that the user has multiple paths to get to this form.  One of the paths passes openargs which specific a filter for the records to be shown on the form.  In some cases no records match the specified filter.  when that happens I want to exit the form immediatelya after letting the user know that no records matched.  An EE'er provide me a way of knowing if no records matched and it works well. The logic is in the 'Load' event shown in the code snippet.  it seems to work well, I get the message that no records matched.  I show the message, set the zerorecordsfound flag, close the form and exit the sub.  it all seems to work.  The line 'Update_Form_Controls Me' is not executed if zero records are found.

Here's the part that I don't understand.   The form seems to continue to execute because I end up in the 'Current' event (I'm not sure why).  Since I want to exit the form I put logic in the front of the "current' event  to recognize that zero records were found and exit the 'Current' event. That logic is also posted in the snippet.

Here is the truly confusing part.  I put breakpoints in the code after the staement 'ZeroRecordsFound = True', which is encountered when the records are zero.  At the breakpoint, the value of 'ZeroRecordsFound' is True.

I also put a break point at the top of the 'Current' event.  At that point the value of 'ZeroRecordsFound' is false.  How is this possible?  How in the world is it possible that the value of 'ZeroRecordsFound'  is True in the Load event, never reset or changed yet is false at the start of the 'Current' event.

In case it matters, the form is 'frmInvoice_main' which contains subform 'frmInvoice_sub'.

How can I get out of this form gracefully if no records match the filter?
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
Option Compare Database
 
Option Explicit
 
Dim ZeroRecordsFound As Boolean
 
Private Sub Form_Load()
'
ZeroRecordsFound = False
'
If Not IsNull(Me.OpenArgs) Then
    Me.Filter = "[AutoNumID] = " & OpenArgs
    Me.FilterOn = True
    If Me.RecordsetClone.EOF Then
         MsgBox "No Matching Record(s) Found"
         ZeroRecordsFound = True
         DoCmd.Close acForm, Me.Name   'close the form
         Exit Sub
    End If
    
Else
'    Me.Filter = ""
    Me.FilterOn = False
End If
'
Update_Form_Controls Me
'
End Sub
 
Private Sub Form_Current()
'
If ZeroRecordsFound Then
    Exit Sub
End If
Start your free trial to view this solution
Question Stats
Zone: Microsoft
Question Asked By: mlcktmguy
Solution Provided By: rockiroads
Participating Experts: 1
Solution Grade: A
Views: 0
Translate:
Loading Advertisement...
03.19.2008 at 04:41PM PDT, ID: 21166995

Rank: Genius

All comments and solutions are available to Premium Service Members only.

Start your 7 day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
03.19.2008 at 05:00PM PDT, ID: 21167085

All comments and solutions are available to Premium Service Members only.

Start your 7 day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
03.19.2008 at 05:04PM PDT, ID: 21167110

Rank: Genius

All comments and solutions are available to Premium Service Members only.

Start your 7 day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
 
Loading Advertisement...
Microsoft
  • Internet Protocols
  • Applications
  • Development
  • OS
  • Hardware
  • Windows Security
Apple
  • Operating Systems
  • Hardware
  • Programming
  • Networking
  • Software
Internet
  • Search Engines
  • File Sharing
  • WebTrends / Stats
  • Spy / Ad Blockers
  • Web Browsers
  • New Net Users
  • Web Development
  • Chat / IM
  • Anti Spam
  • Web Servers
  • Anti-Virus
  • Email Clients
Gamers
  • Tips
  • Online / MMORPG
  • Puzzle
  • Emulators
  • Action / Adventure
  • Role Playing
  • Consoles
  • Game Programming
  • Strategy
  • Sports
  • Misc
  • Computer Games
Digital Living
  • Hardware
  • New Net Users
  • New Users
  • Software
  • Digital Music
  • Gaming World
  • Home Security
  • Apple
  • Networking Hardware
Virus & Spyware
  • Vulnerabilities
  • IDS
  • Encryption
  • Anti-Virus
  • Operating Systems Security
  • Software Firewalls
  • WebApplications
  • Cell Phones
  • Operating Systems
  • Internet
  • Hardware Firewalls
Hardware
  • Handhelds / PDAs
  • Displays / Monitors
  • Components
  • Networking Hardware
  • Peripherals
  • Laptops/Notebooks
  • Storage
  • Servers
  • Desktops
  • New Users
  • Misc
  • Apple
Software
  • System Utilities
  • Industry Specific
  • Network Management
  • Photos / Graphics
  • Page Layout
  • VMWare
  • Misc
  • Web Development
  • OS
  • CYGWIN
  • Voice Recognition
  • Message Queue
  • Quality Assurance
  • Security
  • Firewalls
  • MultiMedia Applications
  • Development
  • Database
  • Office / Productivity
  • Business Management
  • OS/2 Apps
  • Server Software
  • Internet / Email
ITPro
  • OS
  • Storage
  • Encryption
  • Operating Systems Security
  • Apple Hardware
  • Laptops & Notebooks
  • Servers
  • Networking Hardware
  • Peripherals
  • Devices
  • Displays / Monitors
  • WebTrends / Stats
  • Search Engines
  • Firewalls
  • WebApplications
  • IDS
  • Vulnerabilities
  • Email Clients
  • File Sharing
  • Spy / Ad Blockers
  • Web Browsers
  • Web Servers
  • Networking
  • Anti-Virus
  • Chat / IM
  • Anti Spam
Developer
  • Web Servers
  • Web Browsers
  • Game Programming
  • Dev Tools
  • Industry Specific
  • Office / Productivity
  • Database
  • CYGWIN
  • Web Development
  • Search Engines
  • File Sharing
  • WebTrends / Stats
  • Programming
  • Content Management
  • Application Servers
  • Protocols
Storage
  • Removable Backup Media
  • Storage Technology
  • Servers
  • Grid
  • Remote Access
  • Backup / Restore
  • Misc
  • Hard Drives
OS
  • Miscellaneous
  • Security
  • Development
  • Linux
  • VMWare
  • MainFrame OS
  • Unix
  • Apple
  • OS / 2
  • AS / 400
  • BeOS
  • Microsoft
  • VMS / OpenVMS
Database
  • Oracle
  • Miscellaneous
  • MySQL
  • Software
  • Sybase
  • Contact Management
  • PostgreSQL
  • Data Manipulation
  • Clarion
  • InterSystems Cache
  • Siebel
  • MUMPS
  • OLAP
  • SQLBase
  • SAS
  • GIS & GPS
  • 4GL
  • Berkeley DB
  • DB2
  • Informix
  • Interbase / Firebird
  • FoxPro
  • Reporting
  • LDAP
  • Filemaker Pro
  • MS SQL Server
  • dBase
  • MS Access
Security
  • Misc
  • Web Browsers
  • Software Firewalls
  • Operating Systems Security
  • File Sharing
  • Spy / Ad Blockers
  • Vulnerabilities
  • WebApplications
  • IDS
  • Anti-Virus
  • Encryption
  • Anti Spam
  • Email Clients
  • VPN
  • Chat / IM
Programming
  • Editors IDEs
  • Installation
  • Handhelds / PDAs
  • Multimedia Programming
  • System / Kernel
  • Algorithms
  • Game
  • Signal Processing
  • Project Management
  • Open Source
  • Database
  • Misc
  • Languages
  • Processor Platforms
  • Theory
Web Development
  • Scripting
  • Blogs
  • Web Servers
  • Software
  • Search Engines
  • Web Graphics
  • Images
  • Internet Marketing
  • Images and Photos
  • Components
  • Document Imaging
  • Web Languages/Standards
  • Illustration
  • WebApplications
  • Fonts
  • WebTrends / Stats
  • Authoring
  • Digital Camera Software
  • Miscellaneous
Networking
  • Protocols
  • Apple Networking
  • Network Management
  • Message Queue
  • Application Servers
  • Content Management
  • File Servers
  • Email Servers
  • Misc
  • Java Editors & IDEs
  • Wireless
  • Networking Hardware
  • Backup / Restore
  • System Utilities
  • ISPs & Hosting
  • Web Servers
  • Storage Technology
  • Removable Backup Media
  • Servers
  • Broadband
  • Grid
  • OS / 2
  • Novell Netware
  • Unix Networking
  • Windows Networking
  • Security
  • Telecommunications
  • Operating Systems
  • Linux Networking
Other
  • Community Advisor
  • Lounge
  • Community Support
  • New Net Users
  • Philosophy / Religion
  • Math / Science
  • Miscellaneous
  • URLs
  • Expert Lounge
  • Politics
  • Puzzles / Riddles
Community Support
  • Suggestions
  • New to EE
  • New Topics
  • Community Advisor
  • CleanUp
  • Announcements
  • General
  • Feedback
  • Input
  • EE Bugs
 
03.19.2008 at 04:41PM PDT, ID: 21166995

Rank: Genius

u could use form_open then set cancel to true to exit instead of specifying docmd.close

any code after you should put inside the if/else where you dont want it to run
 
03.19.2008 at 05:00PM PDT, ID: 21167085
Putting it in the Open event does get out of the form but it tranfers the problem to the form that opened the form in the first place.  I am now getting error '2501' on the lien that opens the form in the calling program.  The line that is getting the error is:

DoCmd.OpenForm "frmInvoice_Main", , , , , , Me.ExpInv        in 'frmShipPlanPre'

How can I resolve this in the calling program?
 
03.19.2008 at 05:04PM PDT, ID: 21167110

Rank: Genius

yes well thats because you have set cancel

depending on how much code you have in the caller, you could either ignore or capture/disregard the error

eg

on error resume next
DoCmd.OpenForm "frmInvoice_Main", , , , , , Me.ExpInv        in 'frmShipPlanPre'
If Err.Number <> 2501 Then 'Cancel hit
    MsgBox "Returned with " & Err.Number & " " & Err.Description
End If

Accepted Solution
 
 
20080236-EE-VQP-29 / EE_QW_2_20070628