This appears to be a very common, albeit very annoying occurence within Access. As CPUburn said, it sounds as though one or more of the references are missing. This can be caused for a number of reasons. From experimentation, one of the most common is if you switch OS from for example a win2000 machine to a win98 machine. The ocx files related to the reference libraries are stored (except for DAOxxx.dll, which is stored in Program Files, Common...), are stored within the Windows System folder. Win98 as default lives in n:\windows, whereas Win2000 by default lives in n:\Winnt.
Unfortunately Access appears very poor at handling references. One can successfully test for missing references, using the IsMissing function. I thought this could be useful, by coding
IF ref.IsMissing = True Then ref.Remove. However, this cannot be achieved, because carrying out this procedure requires all references to be present & accounted for. You therefore have to manually take into account changes in OS. One workaround is to install the references on the fly, & alter their path based upon the windows system directory (
Environ("WinDir"
)...
Libraries also change, based upon version. In Access 2000 & beyond, DAO is not supported as standard. You have to manually add a reference to it. Working the other way, Access 2000 by default installs the ADO reference library, which I believe needs manually installing on office97. You therefore have to be quite careful when switching OS & versions of access...
James Goodman