LucyUnDemi
Messages postés34Date d'inscriptionmardi 18 décembre 2007StatutMembreDernière intervention12 mai 2009
-
11 févr. 2008 à 14:00
LucyUnDemi
Messages postés34Date d'inscriptionmardi 18 décembre 2007StatutMembreDernière intervention12 mai 2009
-
14 févr. 2008 à 17:41
Bonjour a tous !
Je voudrai faire un requête avec plusieurs Agregats en SQL en utilisant des connexions ADO
Pour le moment je voudrai faire un requête comme ça :
SELECT SUM(Champ1), Champ2
FROM Table1
WHERE Truc = "Bidule"
GROUP BY Champ2
j'arrive tres bien a ecrire cette requête mais j'arrive pas a ecrire le mode de lectrure ; du genre :
Tant que Non Rq.EOF
List.AddItem Rq(Champ1).Value & vbTab & Rq(Champ2).Value
Rq.MoveNext
FinTant que
Je voudrai aussi multiplier les Agregats.
Je me suis aussi renseigne pour la fonction SHAPE mais j'ai pas compris comment gerer l'affichage et multiplier les agregats.
Merci pour votre aide !
A une prochaine
_______________________________________
La vie est trop courte pour la passer a haïre.
LucyUnDemi
Messages postés34Date d'inscriptionmardi 18 décembre 2007StatutMembreDernière intervention12 mai 2009 14 févr. 2008 à 17:41
Voila comment j'ai procédé pour résoudre mon problème d'agregation. J'ai donc procédé de manière algorithmique.
Seulement je n'ai pas reussi a faire les agregations DISTINCT (la fonction AVG ne fonctionne que si on a choisis le COUNT et le SUM)
On Error Resume Next
VMin = rst(ValMin).Value
On Error Resume Next
VMax = rst(ValMin).Value
While Not rst.EOF 'Tant qu'on a pas atteind la fin
i = 0
While Champs(i) <> ""
'on ajoute un ligne dans la listbox
Req = Req & rst(Champs(i)).Value & vbTab
i = i + 1
Wend
On Error Resume Next
If VMin > rst(ValMin).Value Then
VMin = rst(ValMin).Value
End If
On Error Resume Next
If VMax < rst(ValMax).Value Then
VMax = rst(ValMax).Value
End If
On Error Resume Next
VSum = VSum + rst(ValSum).Value
On Error Resume Next
VCount = VCount + 1
List3.AddItem Req
rst.MoveNext 'on passe a la ligne suivante
Req = ""
lblError.Caption = ""
Wend
On Error Resume Next
VAvg = VSum / VCount
List3.AddItem " "
If CheckSum.Value = 1 And TextSum.Text <> "" Then
List3.AddItem "Total(Sum) " & vbTab & VSum
End If
If CheckCou.Value = 1 And TextCou.Text <> "" Then
List3.AddItem "Compte " & vbTab & VCount
End If
If CheckMin.Value = 1 And TextMin.Text <> "" Then
List3.AddItem "Minimum " & vbTab & VMin
End If
If CheckMax.Value = 1 And TextMax.Text <> "" Then
List3.AddItem "Maximum " & vbTab & VMax
End If
If CheckAvg.Value = 1 And TextAvg.Text <> "" Then
List3.AddItem "Moyenne(AVG) " & vbTab & VAvg
End If
Demandez moi si vous voulez des précisions (avant que j'en mette)
____________________________________
La vie est trop courte pour la passer a haïre.
LucyUnDemi
Messages postés34Date d'inscriptionmardi 18 décembre 2007StatutMembreDernière intervention12 mai 2009 13 févr. 2008 à 17:09
Bonjour a tous.
Voila ce que j'ai trouvé sur le site officiel de Microsoft a propo de la commande SHAPE :http://support.microsoft.com/kb/189657/fr c'est plutot bien expliqué mais les exemples sont toute fois pas si claire que ça.
Alors j'aurai aimé que quelqu'un me dise si il a utilisé cette fonction et ce qu'il en a tiré.
Merci et a une prochaine.
____________________________________
La vie est trop courte pour la passer a haïre.