Your database is corrupt. At times like this, nothing beats a good backup.
In fact make a complete backup of your database now and put it away for safe
keeping.
Sometimes doing a Compact and Repair is the fix; however, it's not working
for you. You probably need to open a new database file and import everything
in the corrupt database into the new one.
Tony Toews has an excellent web page on database corruption.
http://www.granite.ab.ca/access/corruptmdbs.htm
Allen Brown also has excellent info on corruption.
http://allenbrowne.com/ser-47.html
I have a white paper in a Word document named Fix Corrupt Access Database
towards the bottom this page:
http://www.rogersaccesslibrary.com/OtherLibraries.asp
BTW: I highly recommend disabling Compact on Close. Unless your database is
poorly designed, it shouldn't need compacting more than once a month or so.