Click here to Skip to main content
12,623,489 members (30,541 online)
Click here to Skip to main content
Add your own
alternative version


22 bookmarked

Transfer Data from MSFlexGrid to Graph Chart

, 30 May 2008 CPOL
Rate this:
Please Sign up or sign in to vote.
View one row numeric data of MSFlexGrid as Graph Chart


I wrote an article earlier about ActiveX control (FDGrid) to allowFlexGrid control as a DataGrid control. To see this ActiveX and its application, click here.

Now I create a new AciveX control (MKGraph) to transfer data from FlexGrid to a graph chart:

  • Connect with database
  • Fill FlexGrid with table
  • Add or Edit records
  • Choose numeric columns
  • Choose graph type
  • Edit title and legend
  • Click to graph
  • Save graph chart
  • Copy graph chart


When using my ActiveX control (MKGraph), you must load the grid with data from the database file, see the code in the form (frmMain). Some properties and methods of my ActiveX are in the following table:

Method/Property Definition Example
DatabaseName Set database name MKGraph1.DatabaseName = FileName
DataSource Set the Recordset to grid MKGraph1.DataSource = rs
AddNewRow Add new record to grid MKGraph1.AddNewRow
DeleteRow Delete record MKGraph1.DeleteRow
Update Save record after add MKGraph1.Update
CancelUpdate Cancel update MKGraph1.CancelUpdate
MoveFirst Move to first record MKGraph1.MoveFirst
MoveLast Move to last record MKGraph1.MoveLast
MoveNext Move to next record MKGraph1.MoveNext
MovePrevious Move to previous record MKGraph1.MovePrevious
DataToGraph Tell ActiveX which columns to draw MKGraph1.DataToGraph
DrawGraph Begin to graph (three steps) MKGraph1.DrawGraph

To use my ActiveX (MKGraph), you must add only one file from files: "Microsoft DAO 3.51 (or 3.6) Object Library" to the reference and add (MKGraph) control to the Toolbox.

Using the Code

LoadData() procedure:

Dim MyDataFile As String
Dim MyDb As Database
Dim MySql As String

   MyDataFile = App.Path + "\DataFile\" + "Sale.mdb"
   Set MyDb = OpenDatabase(MyDataFile, False, False, ";pwd=" & "")
   MySql = "SELECT * FROM Products Order by ProductID"
   MKGraph1.DatabaseName = MyDataFile
   MKGraph1.RecordSource = MySql
   MKGraph1.RecordsetType = vbRSTypeDynaset

cmdLoad_Click() procedure:

'Call LoadData procedure

cmdAdd_Click() procedure:

' add new record to data base file

cmdCancel_Click() procedure:

' don't save record

cmdDelete_Click() procedure:

' delete record from data base file

cmdUpdate_Click() procedure:

' save record to data base file

cmdDraw_Click() procedure:

' Tell ActiveX control which data to draw

' Begin to graph: choose type of graph, edit title and legend, view graph.

When you click cmdDraw button, the ActiveX control will graph with three steps:

  • Choose the graph type (when you see the form which has the caption "Graph type": click any graph type).
  • Edit the title and legend of graph (when you see the form which has the caption "Graph data").
  • Graph chart (now you see your graph on the final form).


When extracting the file, you can find the file MKGraph.ocx in the folder ActiveXcontrol.

Find database file Sale.mdb in the DataFile folder.

Find the project prjFlexGraph (to test the ActiveX control) in the folder FlexToGraph.

This project has only one form (Form1).

This form has:

  • Button to load data from database file
  • Button to graph
  • Button to add record
  • Button to delete record
  • Button to update (save record)
  • Button to cancel update
  • Four buttons for MoveFirst, MoveLast, MoveNext and MovePrevious
  • Button to exit

Last Words

I hope this article is useful and helps you to graph some data in your applications. Please tell me if you have any ideas or if you find any problems. Thanks to CodeProject and thanks to all.


  • 30th May, 2008: Initial post

Mostafa Kaisoun


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

No Biography provided

You may also be interested in...


Comments and Discussions

JokeSuperb Pin
zero.zero26-May-10 3:01
memberzero.zero26-May-10 3:01 
GeneralRe: Superb Pin
Mostafa Kaisoun26-May-10 15:13
memberMostafa Kaisoun26-May-10 15:13 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Terms of Use | Mobile
Web02 | 2.8.161128.1 | Last Updated 30 May 2008
Article Copyright 2008 by Mostafa Kaisoun
Everything else Copyright © CodeProject, 1999-2016
Layout: fixed | fluid