Click here to Skip to main content
14,173,730 members
Click here to Skip to main content
Add your own
alternative version


22 bookmarked
Posted 30 May 2008
Licenced CPOL

Transfer Data from MSFlexGrid to Graph Chart

, 30 May 2008
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 allow FlexGrid 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
DatabaseNameSet database nameMKGraph1.DatabaseName = FileName
DataSourceSet the Recordset to gridMKGraph1.DataSource = rs
AddNewRowAdd new record to gridMKGraph1.AddNewRow
DeleteRowDelete recordMKGraph1.DeleteRow
UpdateSave record after addMKGraph1.Update
CancelUpdateCancel updateMKGraph1.CancelUpdate
MoveFirstMove to first recordMKGraph1.MoveFirst
MoveLastMove to last recordMKGraph1.MoveLast
MoveNextMove to next recordMKGraph1.MoveNext
MovePreviousMove to previous recordMKGraph1.MovePrevious
DataToGraphTell ActiveX which columns to drawMKGraph1.DataToGraph
DrawGraphBegin 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 2:01
memberzero.zero26-May-10 2:01 
GeneralRe: Superb Pin
Mostafa Kaisoun26-May-10 14:13
memberMostafa Kaisoun26-May-10 14:13 
GeneralTo hide my name and email. Pin
Mostafa Kaisoun31-May-08 13:19
memberMostafa Kaisoun31-May-08 13:19 

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.

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