Microsoft KB Archive/122712

= ACC2: DeleteObject Action Causes "Illegal Function Call" Msg =

Article ID: 122712

Article Last Modified on 11/6/2000

-

APPLIES TO


 * Microsoft Access 2.0 Standard Edition

-



This article was previously published under Q122712



SYMPTOMS
Advanced: Requires expert coding, interoperability, and multiuser skills.

When you use the DeleteObject action in Access Basic code to delete a module, you may receive the error message "Illegal function call." When you use this action in a macro, the module is deleted correctly.



CAUSE
When Microsoft Access runs an Access Basic function, it loads all modules into memory. If you add or delete a function, Microsoft Access must recompile the code, but it cannot do so while the code is running.



RESOLUTION
In Microsoft Access version 7.0, the following function correctly deletes a module: Function DelModule DoCmd.DeleteObject A_MODULE, "Delete Test" End Function Note that DeleteObject will enable you to delete any module, including the module which contains the DelModule function.



STATUS
This behavior no longer occurs in Microsoft Access version 7.0.



Steps to Reproduce Behavior
 Create a new module.  Enter the following function in the module: Function DelModule DoCmd DeleteObject A_MODULE, "Delete Test" End Function  Save the module as Test. Create another new module.  Enter the following function in the module: Function TestFunction MsgBox "Test Function" End Function </li> Save the module as Delete Test.</li> From the View menu, choose Immediate window.</li>  In the Immediate window, type the following line, and then press ENTER: ? DelModule Note that you receive the error message mentioned earlier in this article. </li></ol>

Keywords: kberrmsg kbfix kbprogramming kbprb KB122712

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.