Where an object will not close, it indicates either that it is still in use
(e.g. some code is still running, or some object in its code is still
executing, or some object has not been released), or at least that Access
thinks it cannot be released.
You might track down what code is called from this form. If any objects are
opened (e.g. recordsets), make sure you close them. If any objects are set,
make sure you set them to Nothing at the end of their procedure, before they
go out of scope. Watch out for any code that could be re-entrant. If you
have any forms with a Timer event, temporarily get rid of that code to see
if it is contributing to the problem.
If none of that helps, there could be something causing Access to be
confused about the file. Try this sequence:
1. Uncheck the boxes under:
Tools | Options | General | Name AutoCorrect
Explanation of why:
http://allenbrowne.com/bug-03.html
2. Compact the database to get rid of this junk:
Tools | Database Utilities | Compact
3. Close Access. Make a backup copy of the file. Decompile the database by
entering something like this at the command prompt while Access is not
running. It is all one line, and include the quotes:
"c:\Program Files\Microsoft office\office\msaccess.exe" /decompile
"c:\MyPath\MyDatabase.mdb"
4. Open Access, and compact again.