Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

How to clear a previous form from the screen?

Posted on 2006-10-29
12
Medium Priority
?
223 Views
Last Modified: 2008-03-10
I have an Access system that has been around for a number of years.  It was designed when users used 800x600 screen resolution.  Now many users prefer higher resolutions and one user even has an LSD monitor that doesn't have 800x600.  I'm trying to clean things up so that everything looks ok in both lower and higher resolutions.  One problem with higher resolution is that if a form whose length is quite long is closed and a form with a shorter length is then opened, the bottom half of the previous long form continues to appear at the bottom of the screen.  I've used a Docmd.Close.  How do I get the screen cleared?  There's probably some syntax somewhere, but I've had no luck finding it.  (A2003)
0
Comment
Question by:WFBweb
12 Comments
 
LVL 85
ID: 17829250
This shouldn't be happening. When a form closes, everything should be gone and if you're seeing "ghost" images of the old form, you may be experiencing the beginnings of corruption.

Make a copy of your db first, then perform a compact/repair (tools - Database utilities - Compact & Repair). See if this takes care of the problem.

You should also explicitly call the form in DoCmd.Close:

DoCmd.Close acForm, "YourFormName"

0
 
LVL 77

Expert Comment

by:peter57r
ID: 17829267
Hi WFBweb,
That sounds like a display driver issue, not an Access issue.

Pete
0
 

Author Comment

by:WFBweb
ID: 17829323
I do explicity call the form in Do.Cmd.Close.  And...I did the compact/repair.  The system is set up to automatically do this on closing too.

Re the driver issue......I'll go over there (a notforprofit I do volunteer work for) and double-check.  Possibly the prob is only on my own home pc where I do all the development work.  There aren't a lot of users over there who do not use 800x600 and I may not have noticed if the prob did not occur for them.
0
NEW Veeam Backup for Microsoft Office 365 1.5

With Office 365, it’s your data and your responsibility to protect it. NEW Veeam Backup for Microsoft Office 365 eliminates the risk of losing access to your Office 365 data.

 
LVL 26

Expert Comment

by:dannywareham
ID: 17829440
>>That sounds like a display driver issue
I'd hasten to agree.

You can also get this problem intermittently if your CPU usage is particularly high.
The result is that the previous application screen stays on screen and looks like the new screen has sort of cut out part of it.

0
 
LVL 44

Accepted Solution

by:
Leigh Purvis earned 500 total points
ID: 17829541
You don't have any code that prevents screen updates do you?
Possibly Echo or, since you're closing the form, the Painting property of the form - so perhaps
Application.Echo = False
Or
Docmd.Echo False
Or
Me.Painting = False

Before calling your form close - perhaps insert a line
Docmd.Echo True
or
Me.Painting = True

Just to be sure on that score?
0
 

Author Comment

by:WFBweb
ID: 17830202
The same situation does occur over at the notforprofit.  I even upped the resolution of one of the 800x600 pc's and it had same prob.

Re Echo.  I did not realize that echo false stopped the actual updating of screens.  I have presumed that it merely did not show any ongoing changes to the user until the echo true was applied.  I frequently use it to stop minor movement/jumping reflected in closing and opening forms when it is not used.

To make the situation even more complex, I have a couple of 'short' forms that are, except for the data, exactly like the ones that show part of the previous form below them.  They do not show it.  They are all treated the same and basically have the same properties.....at least my sleuthing so far indicates that they do.

I'll do some experimenting with the echo.

0
 
LVL 44

Expert Comment

by:Leigh Purvis
ID: 17830237
If you use Echo at all (let alone a lot) it's imperative that you have good error handling - so that it is *never* allowed to persist.
Since you do use it - I'd certainly suspect this is the cause, however plugging in a switch of it back on in the form closing event would merely be patching over the cracks.
You need to determine where in your code it is being used and not set back on again.
And make sure that this never happens.
0
 

Author Comment

by:WFBweb
ID: 17831714
I haven't read the ten commandments in many years.....forgot all about the one that said 'thou shalt not echo'.
0
 
LVL 44

Expert Comment

by:Leigh Purvis
ID: 17831877
Apparently it's OK - as long as you're not a duck!
(I read somewhere once that a duck's quack doesn't echo).

And of course you're free to use Echo in your applications.
Just as long as you're sooo careful to turn it back on again. :-)
0
 

Author Comment

by:WFBweb
ID: 17832995
I still haven't run down a culprit echo, but will keep at it.
0
 
LVL 44

Expert Comment

by:Leigh Purvis
ID: 17833005
Does switching echo back on before closing the form make it behave though?
0
 

Author Comment

by:WFBweb
ID: 17833911
These forms are unbound main forms with at least one subform.  The main forms had echo on logic, but the forms that did not work had OrderBy code in the subform with no echo on.  The forms that worked properly had the OrderBy code for the subforms in the main form where the echo on was applied.  I moved the OrderBy logic of all the subforms to the main forms and everything works fine.  I believe that subforms are processed before mainforms so the echo off was in place causing the problem.
0

Featured Post

Vote for the Most Valuable Expert

It’s time to recognize experts that go above and beyond with helpful solutions and engagement on site. Choose from the top experts in the Hall of Fame or on the right rail of your favorite topic page. Look for the blue “Nominate” button on their profile to vote.

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.
Windows Explorer let you handle zip folders nearly as any other folder: Copy, move, change, and delete, etc. In VBA you can also handle normal files and folders, but zip folders takes a little more - and that you'll find here.
Visualize your data even better in Access queries. Given a date and a value, this lesson shows how to compare that value with the previous value, calculate the difference, and display a circle if the value is the same, an up triangle if it increased…
This lesson discusses how to use a Mainform + Subforms in Microsoft Access to find and enter data for payments on orders. The sample data comes from a custom shop that builds and sells movable storage structures that are delivered to your property. …
Suggested Courses

971 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