Microsoft KB Archive/167061

= ACC97: "Convert Macros to Visual Basic" Converts Incorrectly =

Article ID: 167061

Article Last Modified on 1/19/2007

-

APPLIES TO


 * Microsoft Access 97 Standard Edition

-



This article was previously published under Q167061



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



SYMPTOMS
When you run the "Convert Macros to Visual Basic" command on a macro that has any of the following RunCommand actions

  RunCommand ArrangeIconsByCreated RunCommand ArrangeIconsByModified RunCommand ArrangeIconsByName RunCommand ArrangeIconsByType RunCommand StepInto RunCommand FindNext RunCommand HyperlinkDisplayText

the macro actions are converted to the following methods of the DoCmd object in the module

  DoCmd.RunCommand acCmdSortByCreated    (ArrangeIconsByCreated) DoCmd.RunCommand acCmdSortByModified  (ArrangeIconsByModified) DoCmd.RunCommand acCmdSortByName      (ArrangeIconsByName) DoCmd.RunCommand acCmdSortByType      (ArrangeIconsByType) DoCmd.RunCommand              (StepInto) DoCmd.RunCommand              (FindNext) DoCmd.RunCommand acCmdEnterEditMode   (HyperlinkDisplayText)

and you receive the following compile error when you try to compile the module:

Compile error

Variable not defined.



CAUSE
The "Convert Macros to Visual Basic" command on the Macro submenu, incorrectly converts the macro actions.



RESOLUTION
You must manually change the syntax for the RunCommand actions in the module.



MORE INFORMATION
The following table lists the correct syntax for the converted macro actions.

Converted Syntax                   Correct Syntax --

RunCommand ArrangeIconsByCreated   DoCmd.RunCommand acCmdArrangeIconsBy Created.

RunCommand ArrangeIconsByModified  DoCmd.RunCommand acCmdArrangeIconsBy Modified.

RunCommand ArrangeIconsByName      DoCmd.RunCommand acCmdArrangeIconsBy Name.

RunCommand ArrangeIconsByType      DoCmd.RunCommand acCmdArrangeIconsBy Type.

RunCommand StepInto                DoCmd.RunCommand acCmdStepInto.

RunCommand FindNext                DoCmd.RunCommand acCmdFindNext.

RunCommand HyperlinkDisplayText    DoCmd.RunCommand acCmdHyperlinkDisplay Text.

Steps to Reproduce Behavior
 Open a new database in Microsoft Access 97.  Create a new macro and add the following actions to the macro:

     Macro Name           Macro Action -     Macro1               RunCommand RunCommand RunCommand RunCommand RunCommand RunCommand RunCommand

Macro1 Actions --     RunCommand Command: ArrangeIconsByCreated RunCommand Command: ArrangeIconsByModified RunCommand Command: ArrangeIconsByName RunCommand Command: ArrangeIconsByType RunCommand Command: StepInto RunCommand Command: FindNext RunCommand Command: HyperlinkDisplayText  Save the macro as Macro1 and close it.</li> Select Macro1 in the Database window, and then on the Tools menu, point to Macro, and click "Convert Macros to Visual Basic."</li> After the module has been created, open it in Design view, and then on the Debug menu, click Compile Loaded Modules. Note that you receive the compile error mentioned in the "Symptoms" section.</li></ol>

<div class="references_section">