Microsoft KB Archive/161087

= ACC97: Cannot Use RunCommand acCmdSaveModuleAsText in Code =

Article ID: 161087

Article Last Modified on 1/19/2007

-

APPLIES TO


 * Microsoft Access 97 Standard Edition

-



This article was previously published under Q161087



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



SYMPTOMS
When you run code that contains the RunCommand method with the acCmdSaveModuleAsText constant, you may receive the following error message:

The command or action 'SaveModuleAsText' isn't available now.

This article assumes that you are familiar with Visual Basic for Applications and with creating Microsoft Access applications using the programming tools provided with Microsoft Access. For more information about Visual Basic for Applications, please refer to the "Building Applications with Microsoft Access 97" manual.



CAUSE
Microsoft Access cannot save a code module while code is running.



RESOLUTION
The following two methods describe how to save a code module programmatically.

Method 1: Using the OutputTo method
 Open the sample database Northwind.mdb. 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 SaveMod DoCmd.OutputTo acOutputModule, "Utility Functions" End Function  To test this function, type the following line in the Debug window, and then press ENTER:

?SaveMod

 The Output To dialog box appears and prompts you for the file name and file type to save the Utility Functions module.</ol>

Method 2: Using the RunCommand Macro Action
<ol> Open the sample database Northwind.mdb.</li>  Create the following new macro called SaveMod: <pre class="fixed_text">     Macro Name      Action --     SaveMod         OpenModule RunCommand

SaveMod Actions -     OpenModule Module Name: Utility Functions Procedure Name: <Leave blank> RunCommand Command: SaveModuleAsText </li> Save the macro, and then run it.</li> The Save As Text dialog box appears and prompts you for the file name and file type to save the Utility Functions module.</li></ol>

<div class="moreinformation_section">

Steps to Reproduce Behavior
<ol> Open the sample database Northwind.mdb.</li> Create a module and type the following line in the Declarations section if it is not already there:

Option Explicit

</li>  Type the following procedure: Function SaveModFail DoCmd.OpenModule "Utility Functions" DoCmd.RunCommand acCmdSaveModuleAsText End Function </li> To test this function, type the following line in the Debug window, and then press ENTER:

?SaveModFail

Note that you receive the following error message:

The command or action 'SaveModuleAsText' isn't available now.

</li></ol>

<div class="references_section">