ACC97: ShowToolbar with Where Appropriate Hides Custom Toolbar

Last reviewed: November 25, 1997
Article ID: Q176152
The information in this article applies to:
  • Microsoft Access 97

SYMPTOMS

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

If a macro contains the ShowToolbar action with the Toolbar Name argument set to the name of a custom toolbar, and if that toolbar is already visible, running the macro hides the toolbar instead of showing it. This behavior also occurs when you run a Visual Basic for Applications procedure containing the ShowToolbar method with the toolbarname argument set to the name of a custom toolbar.

CAUSE

You have set the Show argument of the ShowToolbar action to Where Appropriate in your macro, or you are using the constant acToolbarWhereApprop with the ShowToolbar method in your Visual Basic for Applications procedure.

The Microsoft Access 97 "Show Toolbar Action" Help topic reads as follows:

   For custom toolbars, you can select Yes or Where Appropriate to display
   the custom toolbar in all Microsoft Access windows that become active or
   No to hide the toolbar in all Microsoft Access windows.

However, if you select Where Appropriate or use the constant acToolbarWhereApprop, a custom toolbar is displayed only when a form or report to which it is attached is open.

RESOLUTION

To work around this behavior, use either of the following methods.

Method 1

Set the Show argument of the ShowToolbar macro action to Yes, or use the constant acToolbarYes with the ShowToolbar method in your Visual Basic for Applications procedure.

Method 2

If you want to set the Show argument of the ShowToolbar macro action to Where Appropriate, or if you want to use the constant acToolbarWhereApprop with your Visual Basic for Applications procedure, attach the custom toolbar to a form or report. To do so, follow these steps:

  1. In the Database window, select the form or report to which you want to attach the custom toolbar, and then click Design.

  2. On the Edit menu, click either Select Form or Select Report.

  3. On the View menu, click Properties, and in the Form dialog box, click the Other tab.

  4. Click in the Toolbar box and select the custom toolbar.

The custom toolbar appears when you open the form or report. If you hide the toolbar and then run the macro or procedure, the toolbar reappears. If the toolbar is still visible and you run the macro or procedure, the toolbar is visible when you set the focus back to the form or report to which it is attached.

MORE INFORMATION

Steps to Reproduce Behavior

  1. Open the sample database Northwind.mdb.

  2. On the View menu, point to Toolbars, and then click Customize.

  3. In the Customize dialog box, click New.

  4. In the New Toolbar dialog box, type "Custom1" (without the quotation marks) in the Toolbar Name box, and then click OK.

  5. In the Customize dialog box, click Close.

  6. Click the Macros tab in the Database window, and then click New.

  7. Create the following new macro:

          Action
          -----------
          ShowToolbar
    

          Action Arguments
          -------------------------------
          Toolbar Name: Custom1
    
                  Show: Where Appropriate
    
    

  8. Save the macro as macShowBar and run it. Note that the custom toolbar is now hidden.

REFERENCES

For more information about ShowToolbar, search the Help Index for "ShowToolbar Action."


Additional query words: tool bar
Keywords : McrArg
Version : WINDOWS:97
Platform : WINDOWS
Hardware : x86
Issue type : kbdocerr
Solution Type : Info_Provided


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: November 25, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.