ACC: "A Module Is Not a Valid Type" Compile Error Message (138018)



The information in this article applies to:

  • Microsoft Access for Windows 95 7.0
  • Microsoft Access 97

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

SYMPTOMS

When you compile a database in Microsoft Access 7.0 or 97, you may receive the following error message:
A Module is not a valid type.

CAUSE

The module has the same name as a Microsoft Access object or a data access object, and it contains a variable declared as the same object type as its name. For example, if the module is named Form, you will receive the error message if any of the module's procedures contains a form variable such as the following:
Dim f as Form

RESOLUTION

Rename the module to a name other than a Microsoft Access object name or a data access object name.

STATUS

Microsoft has confirmed this to be a problem in Microsoft Access 7.0 and 97.

MORE INFORMATION

Steps to Reproduce Problem


  1. Start an earlier version of Microsoft Access (version 1.x or 2.0) and create a new database.
  2. Create a module and type the following line in the Declarations section:
           Option Explicit
    						
  3. Type the following procedure:
           Function Test(F as Form)
             msgbox "Form Name: " & F.Name
           End Function
    						
  4. Save the module and name it Form.
  5. Close the database and quit the earlier version of Microsoft Access.
  6. Start Microsoft Access 7.0 or 97.
  7. On the Tools menu, point to Database Utilities, and then click Convert Database.
  8. In the "Database to Convert From" dialog box, select the database created in step 1, and click the Convert button.
  9. In the Convert Database Info box, enter a file name and click Save.
  10. Open the converted database after the conversion process has completed.
  11. In the Database window, click the Modules tab.
  12. Open the module named Form in Design view.
  13. On the Run menu, click Compile All Modules. Note that you receive the following error message:
    A Module is not a valid type.

REFERENCES

For more information about naming conventions, search the Help Index for "naming conventions," or ask the Microsoft Access 97 Office Assistant.

Modification Type:MajorLast Reviewed:10/20/2003
Keywords:kbbug kberrmsg KB138018