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

ID: Q154583


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


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:

Q186855 ACC97: Microsoft Access 97 Sample Graphs Available in Download Center


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:


  9. 
            Command button
            --------------
            Caption: Rotate Graph
            OnClick: =RotateGraph() 
  10. On the View menu, click Code to view the form's module.


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


  12. 
            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 
  13. 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:

Q128364 Microsoft Graph VBA Help File Available in Download Center
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:
Q148124 ACC95: OLE Automation Help File Available in Download Center

Additional query words:

Keywords : kbinterop kbtool IntpGrph PgmObj
Version : WINDOWS:7.0,97
Platform : WINDOWS
Issue type : kbhowto


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