Bonjour à tous,
Je programme sous VB.Net 2010 et je tente d'utiliser Linq pour trouver une solution à mon probléme. C'est le premier problème que j'essai de résoudre avec Linq mais je tourne en rond et aujourd'hui je fais appel à vous. Voici l'énoncé de mon problème :
J'ai une dataTable (nommée maTableAno) qui contient 7 champs et dont voici un extrait :
Maintenant je voudrais grouper les champs qui ont le même jour et le même symbole et faire la somme de "Duree". J'obtiendrais par exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 Type Jour Heure Sectime Duree Symbole Valeur Depassement 02/01/2012 00:00 30/12/1899 01:10:00 1009933800 10 CO 191 Depassement 02/01/2012 00:00 30/12/1899 05:00:00 1009947600 30 COVT 38 Depassement 02/01/2012 00:00 30/12/1899 07:50:00 1009957800 10 CO 303 Depassement 02/01/2012 00:00 30/12/1899 10:00:00 1009965600 30 COVT 47 Depassement 04/01/2012 00:00 30/12/1899 09:20:00 1010136000 10 CO 690 Depassement 04/01/2012 00:00 30/12/1899 10:40:00 1010140800 10 CO 382 Depassement 04/01/2012 00:00 30/12/1899 14:30:00 1010154600 30 COVT 37 Depassement 04/01/2012 00:00 30/12/1899 15:10:00 1010157000 10 CO 427 Depassement 05/01/2012 00:00 30/12/1899 09:30:00 1010223000 30 COVT 20 Depassement 05/01/2012 00:00 30/12/1899 10:00:00 1010224800 30 COVT 24 Depassement 05/01/2012 00:00 30/12/1899 11:50:00 1010231400 10 CO 547 Depassement 05/01/2012 00:00 30/12/1899 12:30:00 1010233800 10 CO 169 Depassement 07/01/2012 00:00 30/12/1899 17:00:00 1010422800 10 CO 164 Depassement 07/01/2012 00:00 30/12/1899 19:20:00 1010431200 10 CO 1833
02/01/2012, CO, 20
02/01/2012, COVT, 60
(pour info, à ce point du programme, les autres champs ne me servent plus à rien).
Voila çi dessous, le code que j'ai tenté de faire mais cette requête n'est même pas compilable. Le message d'erreur se trouve au niveau de g.Sum et il affiche : "Le nom de la variable de portée peut être déduit uniquement à partir d'un nom qualifié ou d'un nom simple sans arguments".
Voila toute l'histoire, alors si quelqu'un pouvait me dépanner je lui en serais très reconnaissant. Merci à tous.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Dim maTableAno = _gestionnaireAnomalies.AnomaliesDepSansConcomitances(_proprietaire.Code, dateDebut, dateFin) Dim maRequeteLinq = From element In maTableAno.AsEnumerable() _ Group element By Jour = element.Field(Of DateTime)("Jour"), Symbole = element.Field(Of String)("Symbole") Into g = Group _ Select Jour.Date, Symbole, g.Sum(Function(x) x.Duree) Order By [Date]
Bonne journée.
Thierry
Partager