Graphique mschart avec une base de données mysql

Contenu du snippet

Ce petit programme sert à representé un graphique Mschart basé sur des données d'une base Mysql.

J'ai vu ke bcqs ont de problèmes pr exploiter mschart avec une base de données.
Je l'ai déjà utilisé avec une base de données Mysql ds le cadre d'un projet ça marche mais je n'ai pas essayéer avec un autre SGBD.
Bon je vous donne le code peut être ke ça interessear qlq1.
Ce qu'il faut sur le formulaire : 1mschart, j'utilise un treeview mais vous pouvez utiliser un bouton.
Base de données mysql avec une table pdv et des propriétés spécifiées ds la requete
Essayer avec un autre SGBD, ya pas de raison que ca ne marche pas.
Bonne prog les amis!

Source / Exemple :


'J'utilise d'un treeview mais vous pouvez le mettre ss 1 bouton
Private Sub Tree1_NodeClick(ByVal Node As MSComctlLib.Node)

' déclaration d'une  connexion sur ma base Mysql
Dim connexion As New ADODB.Connection Dim recordset As New 

'declaration d'un recordset pour  l'histogramme 
Dim recordset As New ADODB.recordset   

'Connexion à la base mysql
connexion.Provider = "MSDASQL.1;Persist Security Info=False;User ID=root;Data Source=basemysql;Initial Catalog=GEOSTAT"
connexion.Open

'Requete de selection des données à representer ds mschart
requete = "SELECT count( PDV_ID_PK ),PDV_VILLE FROM `pdv` group by PDV_VILLE  ;"

'activation du recordset
recordset.CursorLocation = adUseClient

'exécution de la requete
recordset.Open requete, connexion, adOpenStatic, adLockOptimistic

'Initialisation du mschart
MSChart1.Visible = True
    MSChart1.chartType = VtChChartType2dBar
    MSChart1.Title = "Nombre de point de vente par ville"

 With recordset
   If .RecordCount = 0 Then Exit Sub
      .MoveFirst
   Do While Not .EOF
'deux boucles pour  pour afficher la taille des colonnes en fonction des villes
    For Column = 1 To .RecordCount
        For Row = 1 To .RecordCount
    'J'affiche le nombre de colonne correspondant au nombre d'enregistrement
             MSChart1.ColumnCount = .RecordCount
            MSChart1.Column = Column
            MSChart1.Row = Row
            MSChart1.Data = .Fields(0)
    'Affiche le nombre correspondant à la colonne dans la legende
            MSChart1.ColumnLabel = .Fields(1) & " = " & .Fields(0)
           ' MSChart1.RowLabel = .Fields(1)
    'affiche la légende
            MSChart1.Legend.location.LocationType = VtChLocationTypeRight
            MSChart1.Legend.location.Visible = True
            MSChart1.Legend.VtFont.VtColor.Set 0, 0, 255
            MSChart1.Legend.VtFont.Name = "arial"
            MSChart1.Legend.VtFont.Size = 10
        Next Row
       recordset.MoveNext
      Next Column
    Loop
    End With

'J'espère que ça vs aidera. Je suis ouvert à  tte suggestion ou critique .
'ZAK

[img]http:///img

Conclusion :


J'ai pas rencontré de bug!

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.