Microsoft KB Archive/208747

= ACC2000: "A Module Is Not a Valid Type" Compile Error Message =

Article ID: 208747

Article Last Modified on 7/15/2004

-

APPLIES TO


 * Microsoft Access 2000 Standard Edition

-



This article was previously published under Q208747



Moderate: Requires basic macro, coding, and interoperability skills.



SYMPTOMS
When you compile a database in Microsoft Access, 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 procedures in the module has 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 that this is a problem in the Microsoft products that are listed at the beginning of this article.



MORE INFORMATION
This error did not occur in Access 2.0. If you have converted your database from Access 2.0 to Access 2000, you my receive this error if you have any modules named as described in the "Symptoms" section of this article.

Steps to Reproduce Problem
  Create a module and type the following line in the Declarations section if it is not already there: Option Explicit   Type the following procedure: Function Test(F as Form) MsgBox "Form Name: " & F.Name End Function  Save the module and name it Form. On the Debug menu, click Compile . Note that you receive the following error message:

A module is not a valid type.

</ol>

<div class="references_section">