ACC97: Cannot Use RunCommand acCmdSaveModuleAsText in Code

ID: Q161087


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


SYMPTOMS

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

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:


  3. Option Explicit
  4. Type the following procedure:


  5. 
          Function SaveMod()
             DoCmd.OutputTo acOutputModule, "Utility Functions"
          End Function 
  6. To test this function, type the following line in the Debug window, and then press ENTER:


  7. ?SaveMod()
  8. 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:


  3. 
          Macro Name      Action
          --------------------------
          SaveMod         OpenModule
                          RunCommand
    
          SaveMod Actions
          ---------------------------------
          OpenModule
             Module Name: Utility Functions
             Procedure Name: <Leave blank>
          RunCommand
             Command: SaveModuleAsText 
  4. Save the macro, and then run it.


  5. 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:


  3. Option Explicit
  4. Type the following procedure:


  5. 
          Function SaveModFail()
             DoCmd.OpenModule "Utility Functions"
             DoCmd.RunCommand acCmdSaveModuleAsText
          End Function 
  6. 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:


  7. 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.

Additional query words:

Keywords : kberrmsg kbprg AccCon MdlOthr PgmObj
Version : WINDOWS:97
Platform : WINDOWS
Issue type : kbprb


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