Solved

Ms Access Form won't open

Posted on 2006-11-18
6
3,372 Views
Last Modified: 2008-06-02
I had a msgbox pop up and tell me there wasn't enough memory to save.  Please close some other applications then resave.

So i did this, but now i have a form that will not open it design or in normal mode. I can access the code module. but i can't get the form to  open.  

I really don't want to start from stratch with a new form.

Does anyone have any ideas.

I compacted and repaired the db as well. No luck though

i also restarted laptop.

0
Comment
Question by:j_Bryan
  • 2
6 Comments
 
LVL 58

Accepted Solution

by:
harfang earned 168 total points
ID: 17972902
Hello j_Bryan

I'm afraid this is a symptom of database corruption. This occurs frequently when you are editing the code module of an open form. We all do it, naturally, because it's so convenient, but sometimes VBA gets confused in its dozen of compilation levels of a module and saves the wrong one.

At that point, the form is no longer accessible by any normal means (opening, copying from another database, etc.) and often cannot even be deleted. In those cases, I create a new blank database, import all surviving objects from the corrupted database, and import the victims from my last backup. I do an hourly backup when designing for that exact reason.

There might be companies who will claim to retrieve portions from such a corrupted database, but I never took the trouble and -- sometimes -- had to start from scratch.

Sorry for the bad news.

Last thing to try (very little hope): decompile your DB:

    "<path to access>" /decompile "<path to your db>"

Cheers!
(°v°)
0
 
LVL 58

Expert Comment

by:harfang
ID: 17972911
Wait, if you can still see the module, at least copy-paste that to a text file. You can also try (again, very little hope) from the VB immediate pane:

    SaveToText acForm, "frmBuggyForm", "C:\buggyform.txt"

And then, in a new blank database:

    LoadFromText acForm, "frmRetrieved", "C\buggyform.txt"

(°v°)
0
 
LVL 20

Assisted Solution

by:clarkscott
clarkscott earned 166 total points
ID: 17974117
Try creating a new mdb and import it.  Sometimes this works.
Actually, I just had a form crash on me.  I did this procedure and all was fine.  I simply deleted the original (bad) mdb and renamed the new one.

Saved me about 2 hours of work.

Scott C
0
 
LVL 44

Assisted Solution

by:Leigh Purvis
Leigh Purvis earned 166 total points
ID: 17977903
Incidentally - what version of Access are you using?
I ask because this behaviour used to be much more common back in Access 2000.  (It's early days - before the SP rescuers).

If it is A2K make sure you're Service Packed all the way.
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

Suggested Solutions

The first two articles in this short series — Using a Criteria Form to Filter Records (http://www.experts-exchange.com/A_6069.html) and Building a Custom Filter (http://www.experts-exchange.com/A_6070.html) — discuss in some detail how a form can be…
Introduction The Visual Basic for Applications (VBA) language is at the heart of every application that you write. It is your key to taking Access beyond the world of wizards into a world where anything is possible. This article introduces you to…
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…
In Microsoft Access, learn how to use Dlookup and other domain aggregate functions and one method of specifying a string value within a string. Specify the first argument, which is the expression to be returned: Specify the second argument, which …

911 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

17 Experts available now in Live!

Get 1:1 Help Now