jerlo11
Messages postés109Date d'inscriptionmardi 19 mai 2015StatutMembreDernière intervention17 novembre 2022
-
10 oct. 2016 à 18:02
Whismeril
Messages postés19025Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention19 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
Pour l'axe Y en double je ne sais pas comment faire
Whismeril
Messages postés19025Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention19 avril 2024656 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.
jerlo11
Messages postés109Date d'inscriptionmardi 19 mai 2015StatutMembreDernière intervention17 novembre 2022 10 oct. 2016 à 21:34
auriez-vous un exemple dont je peux essayer de comprendre ?
Très cordialement,
Whismeril
Messages postés19025Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention19 avril 2024656 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.
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.
Whismeril
Messages postés19025Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention19 avril 2024656
>
Whismeril
Messages postés19025Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention19 avril 2024 10 oct. 2016 à 23:29
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.
Modifié par jerlo11 le 10/10/2016 à 21:13
Pour les x j'ai mis cela :
Pour l'axe Y en double je ne sais pas comment faire
10 oct. 2016 à 21:23
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.
10 oct. 2016 à 21:34
Très cordialement,
10 oct. 2016 à 23:24
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:
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.
10 oct. 2016 à 23:29
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.