In that case, it sounds like you have a corrupt form. You can try doing a
compact and repair (Tools > Database Utilities > Compact and repair database
in Access 2003 and prior versions, or Office Button > Manage > Compact and
repair database in Access 2007), but I wouldn't hold out too much hope of
this fixing the problem.
Do you have a known good backup copy of your database that includes this
form? If not, how difficult would it be to rebuild this form from scratch?
There are techniques available to try to recover a corrupt form, using the
undocumented SaveAsText / LoadFromText commands, but it is easier if you can
simply import a copy from a known good backup. I would try the following
procedure:
Create a brand new database and immediately disable the NameAutocorrect
feature (see:
http://allenbrowne.com/bug-03.html for reasons why you want to
do this). Then import all objects from the suspect database into the new
database, one group at a time. In other words, import all tables (but not any
linked tables), then import all queries, then all forms, etc. It is best to
import the form in question from a known good backup copy, rather than from
the same database that you are importing everything else. While Access will
allow you to import all objects in one operation, the experts at FMS, Inc. (a
Microsoft Partner), have stated that it is best to import objects one group
at a time (Reference:
http://www.fmsinc.com/ubb/Forum12/HTML/000285.html).
Recreate any linked tables from scratch. Access can cache a lot of
information about linked tables, which may no longer be valid, so it's always
best to recreate the linked tables from scratch. When importing local tables,
make sure to check the option to import relationships, menus and toolbars,
and import/export specs. If any objects in the source DB are hidden, you'll
need to first unhide them. You will need to set the checked references to
match the source database, along with any startup options set under Tools >
Startup (or Office Button > Access Options...> Current Database in Access
2007).
Going through this process often times solves corruption problems, because
you get a new set of the hidden system tables (the tables whose names start
with "MSYS"). These system tables are updated appropriately as you import
objects. This may sound like a lot of work, but it really isn't. Creating a
new container DB, disabling NameAutocorrect, importing all objects one group
at a time, re-establishing any linked tables, setting startup options, and
setting references to match the source DB is usually a fairly quick
procedure. When you are in the Visual Basic Editor, in order to check that
the references match the source DB, you should do a Debug > Compile
ProjectName as well.
Tom Wickerath
Microsoft Access MVP
https://mvp.support.microsoft.com/profile/Tom
http://www.access.qbuilt.com/html/expert_contributors.html
__________________________________________