There isn't enough memory? -- cannot open form

G

Guest

I have a database that was created by someone else that is now having
corruptions taking place. The corruption does not appear to be data related
but rather Forms related.

There are 2 forms that when I try to open them up I get the error message
"There isn't enough memory to perform this operation. Close unneeded programs
and try the operation again." If I open a new database and attempt to import
these 2 forms Access informs me that either the object name is spelled wrong
or the object does not exist.

Does anyone have an idea as to the problem?
 
G

Guest

Try creating a new form and copying the fields from the original. After
testing you can be more specific with code and formats. I have had this
happen a couple of times in the past and a new form was the only thing that
fixed it.

Hope this helps.
 
S

Sandra Daigle

Hi Darrell,

This does sound like corruption in the VBA project. There are several things
you can try that might fix the problem. First make and keep a backup of the
corrupt database. Also locate the most recent backup you have of the
non-corrupt project. You may have to resort to it if all else fails.

Try decompiling the database. Here are a couple of links on decompile. They
are written for Access97 but the same method works for Access2000. Be sure
to make a copy of your mdb before you decompile. I've never had any trouble
but you never know.

http://www.mvps.org/access/bugs/bugs0008.htm
http://www.trigeminal.com/usenet/usenet004.asp

FWIW I usually Decompile, compact then decompile again.

Try saving the form as text, then loading it back from text. There is an
undocumented way of doing this (meaning use at your own risk!)

Application.SaveAsText acForm, strFormName, strDestPath
Application.LoadFromText acForm, strFormName, strSourcePath

For example:

Application.SaveAsText acForm, "FormA", "c:\temp\FormA.txt"
Application.LoadFromText acForm, "FormA2", "c:\temp\FormA.txt"

I've successfully used this as a method for repairing a corrupt form object.

Try Jackie's suggestion of creating a new form and copying the controls from
the old form into the new one.

If all of the above fail take a look at Tony's page on corruption -
http://www.granite.ab.ca/access/corruptmdbs.htm.
 
E

Ernie

Check and make sure that your mdb isn't stretching the
limit of 2Gb for access 2k and above.

Since this error is happening when opening a form, you
might check and make sure that any forms, reports,
modules, recordsets, etc which were opened before you got
here are closed. You might be running into a problem with
too many tables open.

HTH
-----Original Message-----
I've now tried "decompile" with no success. I've tried to do a "SaveAsText"
and the only thing I get is a error 2001 "You cancelled the previous
operation" --- don't have a clue as to what operation was cancelled but
that's what it says.

Now what?

Sandra Daigle said:
Hi Darrell,

This does sound like corruption in the VBA project. There are several things
you can try that might fix the problem. First make and keep a backup of the
corrupt database. Also locate the most recent backup you have of the
non-corrupt project. You may have to resort to it if all else fails.

Try decompiling the database. Here are a couple of links on decompile. They
are written for Access97 but the same method works for Access2000. Be sure
to make a copy of your mdb before you decompile. I've never had any trouble
but you never know.

http://www.mvps.org/access/bugs/bugs0008.htm
http://www.trigeminal.com/usenet/usenet004.asp

FWIW I usually Decompile, compact then decompile again.

Try saving the form as text, then loading it back from text. There is an
undocumented way of doing this (meaning use at your own risk!)

Application.SaveAsText acForm, strFormName, strDestPath
Application.LoadFromText acForm, strFormName, strSourcePath

For example:

Application.SaveAsText acForm, "FormA", "c:\temp\FormA.txt"
Application.LoadFromText acForm, "FormA2", "c:\temp\FormA.txt"

I've successfully used this as a method for repairing a corrupt form object.

Try Jackie's suggestion of creating a new form and copying the controls from
the old form into the new one.

If all of the above fail take a look at Tony's page on corruption -
http://www.granite.ab.ca/access/corruptmdbs.htm.

--
Sandra Daigle [Microsoft Access MVP]
Please post all replies to the newsgroup.


Darrell said:
I have a database that was created by someone else that is now having
corruptions taking place. The corruption does not appear to be data
related but rather Forms related.

There are 2 forms that when I try to open them up I get the error
message "There isn't enough memory to perform this operation. Close
unneeded programs and try the operation again." If I open a new
database and attempt to import these 2 forms Access informs me that
either the object name is spelled wrong or the object does not exist.

Does anyone have an idea as to the problem?
.
 
S

Sandra Daigle

Hi Darrell,

When you tried the SaveAsText where were you? Had you tried to open the form
first? Try this - close the database then reopen it and open the VB Editor.
Try running the code that issues the SaveAsText/LoadFromText. Does it work
when nothing else is open?

One other thing that I've seen happen is that the mdb is corrupt in such a
way that the form object has been deleted but the associated class module is
not - you can't see it or get to it but it interferes in ways such as what
you've already described. You can try creating a brand new form, saving it
under the name of the problem form. Then decompile/compact/decompile. At
this point, it's trial and error but you're trying to get the old module
associated with the new form so you can get rid of both of them and start
over. I've had limited results solvoing this particular problem.

For grins, make a copy of your last known good backup. In the copy rename
the problem form. Then in the db you're trying to salvage import the renamed
form. Does it work?

--
Sandra Daigle [Microsoft Access MVP]
Please post all replies to the newsgroup.


Darrell said:
I've now tried "decompile" with no success. I've tried to do a
"SaveAsText" and the only thing I get is a error 2001 "You cancelled
the previous operation" --- don't have a clue as to what operation
was cancelled but that's what it says.

Now what?

Sandra Daigle said:
Hi Darrell,

This does sound like corruption in the VBA project. There are
several things you can try that might fix the problem. First make
and keep a backup of the corrupt database. Also locate the most
recent backup you have of the non-corrupt project. You may have to
resort to it if all else fails.

Try decompiling the database. Here are a couple of links on
decompile. They are written for Access97 but the same method works
for Access2000. Be sure to make a copy of your mdb before you
decompile. I've never had any trouble but you never know.

http://www.mvps.org/access/bugs/bugs0008.htm
http://www.trigeminal.com/usenet/usenet004.asp

FWIW I usually Decompile, compact then decompile again.

Try saving the form as text, then loading it back from text. There
is an undocumented way of doing this (meaning use at your own risk!)

Application.SaveAsText acForm, strFormName, strDestPath
Application.LoadFromText acForm, strFormName, strSourcePath

For example:

Application.SaveAsText acForm, "FormA", "c:\temp\FormA.txt"
Application.LoadFromText acForm, "FormA2", "c:\temp\FormA.txt"

I've successfully used this as a method for repairing a corrupt form
object.

Try Jackie's suggestion of creating a new form and copying the
controls from the old form into the new one.

If all of the above fail take a look at Tony's page on corruption -
http://www.granite.ab.ca/access/corruptmdbs.htm.

--
Sandra Daigle [Microsoft Access MVP]
Please post all replies to the newsgroup.


Darrell said:
I have a database that was created by someone else that is now
having corruptions taking place. The corruption does not appear to
be data related but rather Forms related.

There are 2 forms that when I try to open them up I get the error
message "There isn't enough memory to perform this operation. Close
unneeded programs and try the operation again." If I open a new
database and attempt to import these 2 forms Access informs me that
either the object name is spelled wrong or the object does not
exist.

Does anyone have an idea as to the problem?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top