ACC2000: Same Named Module and Procedure Causes Errors

ID: Q210098


The information in this article applies to:
  • Microsoft Access 2000

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

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


SYMPTOMS

When you run a procedure from an object's events, you may receive the following error message:

The expression [event name] you entered as the event property setting produced the following error: The expression you entered has a function name that Microsoft Access can't find.
If you use the RunCode action in a macro to call a function, you may receive the following error message:
The expression you entered has a function name that Microsoft Access can't find.
If you try to run a procedure from the Immediate window, you may receive the following error message:
Compile Error:
Expected variable or procedure, not module.
NOTE: All the modules in the database or project will appear to compile successfully.


CAUSE

A user-defined function or a subroutine have the same name as a module. These errors occur even if the procedure is not contained in the module with the same name.


RESOLUTION

Change the name of the module so that it is different from the name of any procedure that you have in the database or project.


MORE INFORMATION

Steps to Reproduce Behavior

  1. Create a new Microsoft Access database, and then create a module.


  2. Type the following procedure:


  3. 
    Function Test()
       MsgBox "Does this work correctly?"
    End Function 
  4. Save the module as Test.


  5. Type the following line in the Immediate window, and then press ENTER:


  6. 
    Test 

Additional query words: conversion name prb

Keywords : kberrmsg kbprg kbdta MdlGnrl
Version : WINDOWS:2000
Platform : WINDOWS
Issue type : kbprb


Last Reviewed: October 27, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.