Graphique mschart avec une base de données mysql

Soyez le premier à donner votre avis sur cette source.

Snippet vu 11 070 fois - Téléchargée 34 fois

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

Ajouter un commentaire Commentaires
Messages postés
67
Date d'inscription
lundi 9 mai 2005
Statut
Membre
Dernière intervention
8 août 2005

salut je vien de lire ton code moi je dois faire un camembert . les données je les récuper aussi d'une base de données mysql je suis en vb6.net et mon probleme est que je ne sais pas du tout comment commencer . est ce que la boite a outil qui te génere les text box , listebox, etc peu te générer aussi le camembert si oui quelle est le nom du camembert dans la boite a outil
si non comment je pourrai déciner le camenber avant de commencer a codé dérière pour quil maffiche se que je veu

merci de ton aide
Messages postés
2169
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
30 juin 2009
8
Une capture serait cool !!

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.