Control Chart

jerlo11 Messages postés 109 Date d'inscription mardi 19 mai 2015 Statut Membre Dernière intervention 17 novembre 2022 - 10 oct. 2016 à 18:02
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 - 11 oct. 2016 à 12:51
Bonjour à tous et toutes,
J'avance doucement sur la mise en forme d'un chart en lien avec une base de données Access table "Kh" et je ne comprend pas pourquoi mon graph ne m'affiche que 3 valeur maxi et les chiffres à virgules sont mal interprété (exemple : 7.5 = 75 dans le chart)
Voici mon bout de code à l'heure actuel :
Chart1.Series.Add("Kh")
Dim Conn As OleDbConnection = New OleDbConnection
Dim provider = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source ="
Dim dataFile = "C:\Program Files\BBD_parametre.accdb"
Conn.ConnectionString = provider & dataFile
Conn.Open()
Dim cmd As OleDbCommand = New OleDbCommand("SELECT [Date du test], [Valeur du test (dKh)] FROM [Kh]", Conn)
Dim dr As OleDbDataReader = cmd.ExecuteReader
While dr.Read
Chart1.Series("Kh").ChartType = SeriesChartType.SplineArea
Chart1.Series("Kh").Points.AddXY(dr("Date du test").ToString, dr("Valeur du test (dKh)").ToString)
End While
dr.Close()
cmd.Dispose()


Auriez-vous une idée de mon soucis ??
Vous remerciant par avance pour vos aides

1 réponse

Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
10 oct. 2016 à 18:33
Bonsoir essaye de convertir les x en DateTime et les Y en double.
0
jerlo11 Messages postés 109 Date d'inscription mardi 19 mai 2015 Statut Membre Dernière intervention 17 novembre 2022
Modifié par jerlo11 le 10/10/2016 à 21:13
Je débute donc j'essaye de trouver votre réponse.
Pour les x j'ai mis cela :
Chart1.Series("Kh").XValueType = ChartValueType.DateTime


Pour l'axe Y en double je ne sais pas comment faire
0
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
10 oct. 2016 à 21:23
            Chart1.Series("Kh").Points.AddXY(dr("Date du test").ToString, dr("Valeur du test (dKh)").ToString)


Là dans ce code, tu forces ce qui semble être une date (puisque ça s'appelle date) et ce qui semble être un nombre (puisque ça s'appelle valeur) en texte avec la méthode ToString (comme son nom l'indique).

On ne fait pas de courbe avec du texte, donc il faut faire en sorte que le chart sache qu'il s'agit d'une datation et d'un nombre.
Il faut utiliser la classe Convert et les méthode ToDateTime et ToDouble.
0
jerlo11 Messages postés 109 Date d'inscription mardi 19 mai 2015 Statut Membre Dernière intervention 17 novembre 2022
10 oct. 2016 à 21:34
auriez-vous un exemple dont je peux essayer de comprendre ?
Très cordialement,
0
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
10 oct. 2016 à 23:24
Oui je pourrais te donner un exemple, mais serait utile?

Le code que tu montres plus haut vient de quelqu'un qui connait aux moins les bases du langage.
Or la conversion de type c'est la base de la base.
Ce qui m'amène aux conclusions suivantes:
  • Tu as pris des bouts de codes sur le net, sans trop les comprendre et les a mis ensemble en espérant que ça marche.
  • Eventuellement tu t'es fait un peu aider, sans forcément tout cerner, sur ce forum ou un autre.

Et tout ça en pensant qu'apprendre les choses dans l'ordre ça ne sert à rien.

Et bien sache, que savoir ce qu'est un string, un double, un datetime et convertir de l'un vers l'autre, le début du commencement.

Plutôt que te donner un exemple, que tu sauras copier et peut-être adapter en tâtonnant, je préfère te guider vers
https://msdn.microsoft.com/fr-fr/library/7wchwf6k(v=vs.110).aspx
puis vers
http://plasserre.developpez.com/cours/vb-net/

Et ensuite, tu verras que PLasserre a aussi fait un tuto sur les charts, mais le comprendre nécessite d'avoir acquis l'utilisation des types de bases et les grandes lignes de VB.Net.

J'ai un peu fait comme toi à mes débuts, et je me suis cassé les dents jusqu'à ce que je me résigne à prendre les choses par le commencement.
0
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656 > Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024
10 oct. 2016 à 23:29
Cette question
http://codes-sources.commentcamarche.net/forum/affich-10069581-formstartposition

est un parfait exemple, tu changeais la position d'initialisation d'un formulaire, après son chargement en espérant le déplacer.
LePivert te donne un bout de code fonctionnel, tu le copies chez toi, ça marche, tu le remercies, c'est très bien.
Shaw qui te dit d'ou vient le problème, tu l'ignores, pourtant tu aurais plus appris en creusant sa réponse qu'en copiant le code du Pivert.
0
Rejoignez-nous