ACC: How to Use Automation to Rotate a 3-Dimensional Chart

ID: Q154583

The information in this article applies to:

SUMMARY

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

This article shows you how to use Automation to rotate a chart created in Microsoft Graph.

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 your version of the "Building Applications with Microsoft Access" manual.

NOTE: Only graphs of the three-dimensional type can be rotated.

NOTE: A demonstration of the technique used in this article can be seen in the sample file, Grphsm97.exe. For information about how to obtain this sample file, please see the following article in the Microsoft Knowledge Base:

   ARTICLE-ID: Q186855
   TITLE     : ACC97: Microsoft Access 97 Sample Graphs Available on MSL

MORE INFORMATION

You can use Automation to programmatically rotate a graph. By using the Rotation property, you can rotate a three-dimensional graph to change the viewpoint of a graph or to provide an animated effect.

The following example rotates a three-dimensional pie graph a full 360 degrees:

  1. Open the sample database Northwind.mdb.

  2. Open a new, blank form in Design view.

  3. On the Insert menu, click Chart. Click and drag a chart to the form.

  4. In the first dialog box of the Chart Wizard, under view, click
     Queries, and then select the "Employee Sales By Country" query. Click
     Next.

  5. In the next dialog box, add the Country and SaleAmount fields to the
     Fields For Chart box. Click Next.

  6. In the next dialog box, choose 3-D Pie Chart. Click Finish. Your graph
     will appear on the form.

  7. On the View menu, click Properties. Select the Graph so that you are
     viewing the Graph object's properties. Set the Name property to
     MyGraph.

  8. Add a command button to the form with the following properties:

        Command button
        --------------
        Caption: Rotate Graph
        OnClick: =RotateGraph()

  9. On the View menu, click Code to view the form's module.

 10. Add the following code to the form's module:

        Function RotateGraph()
        Dim OldRotation As Integer
        Dim NewRotation As Integer
        Dim GraphObj As Object
        Set GraphObj = Me![MyGraph].Object.Application.Chart

        ' Determine the initial rotation setting.
        OldRotation = GraphObj.Rotation

        ' Rotate graph from initial setting to 360 degrees.
        For NewRotation = OldRotation To 360 Step 12
           GraphObj.Rotation = NewRotation
           If GraphObj.Rotation = 360 Then GraphObj.Rotation = 0
           DoEvents
           DoCmd.RepaintObject
        Next
        End Function

 11. Switch the form to Form view. When prompted for a beginning and ending
     date, enter 1/1/94 and 1/1/95 respectively. Click the command button.

REFERENCES

For more information about Microsoft Graph, please see the following article in the Microsoft Knowledge Base:

   ARTICLE-ID: Q128364
   TITLE     : Microsoft Graph VBA Help File Available on MSL

For more information about the Type property and for a listing of chart types and their constants, open the Microsoft Graph help file (you must have the VBA_GRP.HLP help file installed), and search on "Rotation property."

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

For more examples of Automation between Microsoft Access and Microsoft Graph, download the Automation Help File. To do so, see the following article in the Microsoft Knowledge Base:

   ARTICLE-ID: Q148124
   TITLE     : OLE Automation Help File (95) Available on MSL

Additional query words:
Keywords          : kbinterop kbtool IntpGrph PgmObj 
Version           : 7.0 97
Platform          : WINDOWS
Hardware          : x86
Issue type        : kbhowto

Last Reviewed: November 21, 1998