Help and Support

Article ID: 161087 - Last Review: January 19, 2007 - Revision: 3.3

ACC97: Cannot Use RunCommand acCmdSaveModuleAsText in Code

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

On This Page

Expand all | Collapse all

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

  1. Open the sample database Northwind.mdb.
  2. Create a module and type the following line in the Declarations section if it is not already there:
    Option Explicit
  3. Type the following procedure:
          Function SaveMod()
             DoCmd.OutputTo acOutputModule, "Utility Functions"
          End Function
    					
  4. To test this function, type the following line in the Debug window, and then press ENTER:
    ?SaveMod()
  5. The Output To dialog box appears and prompts you for the file name and file type to save the Utility Functions module.

Method 2: Using the RunCommand Macro Action

  1. Open the sample database Northwind.mdb.
  2. Create the following new macro called SaveMod:
          Macro Name      Action
          --------------------------
          SaveMod         OpenModule
                          RunCommand
    
          SaveMod Actions
          ---------------------------------
          OpenModule
             Module Name: Utility Functions
             Procedure Name: <Leave blank>
          RunCommand
             Command: SaveModuleAsText
    					
  3. Save the macro, and then run it.
  4. The Save As Text dialog box appears and prompts you for the file name and file type to save the Utility Functions module.

MORE INFORMATION

Steps to Reproduce Behavior

  1. Open the sample database Northwind.mdb.
  2. Create a module and type the following line in the Declarations section if it is not already there:
    Option Explicit
  3. Type the following procedure:
          Function SaveModFail()
             DoCmd.OpenModule "Utility Functions"
             DoCmd.RunCommand acCmdSaveModuleAsText
          End Function
    					
  4. 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.

REFERENCES

For more information about the OutputTo method, search the Help Index for OutputTo method.

For more information about the RunCommand method, search the Help Index for RunCommand method.

APPLIES TO
  • Microsoft Access 97 Standard Edition
Keywords: 
kberrmsg kbprb kbprogramming KB161087
Retired KB ArticleRetired KB Content Disclaimer
This article was written about products for which Microsoft no longer offers support. Therefore, this article is offered "as is" and will no longer be updated.

Article Translations