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!
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.