Visual Basic for Applications (VBA) functions break in a database with missing references

Support for Office 2003 has ended

Microsoft ended support for Office 2003 on April 8, 2014. This change has affected your software updates and security options. Learn what this means for you and how to stay protected.

This article was previously published under Q283806
Moderate: Requires basic macro, coding, and interoperability skills.

This article applies to a Microsoft Access database (.mdb and .accdb) and to a Microsoft Access project (.adp).

For a Microsoft Access 2000 version of this article, see 208218.
For a Microsoft Access 97 version of this article, see 160870.
If you have a procedure that contains a Visual Basic for Applications function and your database contains a reference to a missing object library or type library, you may receive one of the following error messages when you compile your modules or run the procedure:

Error message 1

Your Microsoft Access database or project contains a missing or broken reference to the file <filename>.

* To ensure that your database or project works properly, you must fix this reference.

* To learn how to fix this reference, click Help.

Error message 2

Compile Error:
Can't find project or library
Your database contains a reference to a database, type library, or object library that is marked as MISSING: <referencename> in the References dialog box.
To remove the missing reference, follow these steps:
  1. Open your database.
  2. Press ALT+F11 to open the Visual Basic Editor.
  3. On the Tools menu, click References.
  4. Click to clear the check box for the type library or object library marked as MISSING: <referencename>.
An alternative to removing the reference is to restore the referenced file to the path that is specified in the References dialog box. If the referenced file is in a new location, clear the MISSING: <referencename> reference, and then create a new reference to the file in the new folder.

NOTE: In an Access run-time application, you cannot view references from a menu. However, the following article demonstrates how to view references using code:
209849 How to loop through references to view their properties
More information

Steps to Reproduce the Behavior

  1. Open the sample database Northwind.mdb.
  2. Create a new form that is not based on any table or query.
  3. On the Insert menu, click ActiveX Control.
  4. In the Select an Activex control list, click Kodak Image Edit Control, and then click OK.
  5. Save the form as frmReference, and then close it.
  6. Close Northwind.mdb, and then quit Access.
  7. Find and rename the ImgEdit.ocx file to ImgEdit.old.
  8. Start Access, and then open Northwind.mdb.
  9. Open the Startup module in Design view.
  10. On the Debug menu, click Compile Northwind. Note that you receive both of the error messages that are mentioned in the "Symptoms" section of this article.
  11. Click OK. Note that the References dialog box appears; the following reference is highlighted in the Available References dialog box:
    MISSING: Kodak Image Edit Control					
  12. Click Cancel in the Available References dialog box.
  13. Find and rename the ImgEdit.old file to ImgEdit.ocx.
  14. Repeat step 10 and note that the error message no longer appears.
For additional information about another problem that could cause the first error message, click the following article number to view the article in the Microsoft Knowledge Base:
275110 "Undefined function in expression" error message when you open a query that references a function
Now Time Date Left Right Mid Str Format Trim LTrim RTrim prb can t find project or library OfficeErrorMessages 10017 ACC2002 reviewdocid ACC2003 ACC2007 ACC2010

Article ID: 283806 - Last Review: 07/12/2013 07:15:00 - Revision: 5.6

  • Microsoft Access 2002 Standard Edition
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Word 2002
  • Microsoft Office Access 2003
  • Microsoft Office Access 2007
  • Microsoft Access 2010
  • kbproductlink kbfunctions kbvba kberrmsg kbprb KB283806