Dear all,
I believe I have discovered a new way of fixing corrupted forms in Access.
After a crash, one of my forms refused to open in either design or form view saying:
Having searched the internet for this error I found lots of people recommending Repair/Compact or copying and pasting the currupt object into a new database.
Repair and Compact (Access 97) both ran successfully but failed to fix the problem.
When I attempted to copy and paste the broken form either within the database or externally I got
When I attempted to import the form into a new database I got
If I attempted to rename the form, I got:
Resolution: (I don't know which step here was the key to my success)
1) Delete all other database objects (all tables, queries, forms, macros and modules)
2) Create a new form and put any control on it.
3) Attempt to save the form using the same name as the corrupt form
4) Access asks "The name you entered already exists..." (Aha! The first time Access is admitting that the corrupt form exists.) Say no to this prompt.
5) I was now able to rename and open my corrupt form. Everything was fine.
If this post stops just one other DBA having to go through the morning from hell I just went through then it'll all have been worthwhile!
Happy coding,
Rob Levy
I believe I have discovered a new way of fixing corrupted forms in Access.
After a crash, one of my forms refused to open in either design or form view saying:
Code:
Form name | is misspelled or refers to a form that doesn't exist
Having searched the internet for this error I found lots of people recommending Repair/Compact or copying and pasting the currupt object into a new database.
Repair and Compact (Access 97) both ran successfully but failed to fix the problem.
When I attempted to copy and paste the broken form either within the database or externally I got
Code:
Error 13: Out of Memory
When I attempted to import the form into a new database I got
Code:
Automation error
If I attempted to rename the form, I got:
Code:
The save operation failed
Resolution: (I don't know which step here was the key to my success)
1) Delete all other database objects (all tables, queries, forms, macros and modules)
2) Create a new form and put any control on it.
3) Attempt to save the form using the same name as the corrupt form
4) Access asks "The name you entered already exists..." (Aha! The first time Access is admitting that the corrupt form exists.) Say no to this prompt.
5) I was now able to rename and open my corrupt form. Everything was fine.
If this post stops just one other DBA having to go through the morning from hell I just went through then it'll all have been worthwhile!
Happy coding,
Rob Levy