bonjour ,

voilà mon pb du jour. je cherche à faire la somme de plusieurs quantité par rapport à un code portefeuille et un type de part (_codefonds,_typepart dans mon select)

La requete ci dessous me permet de récupérer le detail (codefonds, quantité et type de part)


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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
 
 
Function chargement_quantite_sousrac_omega() As Double
 
    Dim code_prod As String
 
    Dim ptr As Variant
    Dim quantitesousrach As Double
    Dim code_portefeuille As String
    Dim codefonds As Variant
    Dim dateope As Date
    Dim chargement_quantite_sousrac_omegaa As Variant
    Dim typepart_
    Dim chargement_quantite_sousrac_omegaaa As Double
 
 
    Dim i
 
 
 
    Windows("Contrôle benchmarké1.xls").Activate
    Sheets("sousrac").Activate
 
    For i = 6 To 10
 
    If (Sheets("Sousrac").Range("A" & i)) <> "" Then
 
        code_portefeuille = (Sheets("Sousrac").Range("b" & i))
        dateope = (Sheets("Sousrac").Range("D1"))
 
        If code_portefeuille <> "" Then
 
 
    quantitesousrach = 0
    Set ptr = CreateObject("ADODB.Recordset")
 
 
    ptr.Open " select _quantite, _codefonds, _dateoperation,_typepart from omega.fcp.sousrac where _dateoperation = '" & dateope & "' ORDER BY _codefonds,_typepart ", Mybd
 
        Do While Not ptr.EOF


Par contre je ne parviens pas à faire la somme des quantité en fonction du codefonds et du type de part.

Sous sql la requete ci dessous fonctionne bien

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
 
select  _codefonds, sum(_quantite) as qte from Fcp.sousrac where _dateoperation = '07/09/2007' group by _codefonds, _typepart

j'ai essayé de m'en inspirer avec la requete ci-dessous

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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
 
Function chargement_quantite_sousrac_omega() As Double
 
    Dim code_prod As String
 
    Dim ptr As Variant
    Dim quantitesousrach As Double
    Dim code_portefeuille As String
    Dim codefonds As Variant
    Dim dateope As Date
    Dim chargement_quantite_sousrac_omegaa As Variant
    Dim typepart_
    Dim chargement_quantite_sousrac_omegaaa As Double
 
 
    Dim i
 
 
 
    Windows("Contrôle benchmarké1.xls").Activate
    Sheets("sousrac").Activate
 
    For i = 6 To 10
 
    If (Sheets("Sousrac").Range("A" & i)) <> "" Then
 
        code_portefeuille = (Sheets("Sousrac").Range("b" & i))
        dateope = (Sheets("Sousrac").Range("D1"))
 
        If code_portefeuille <> "" Then
 
 
    quantitesousrach = 0
    Set ptr = CreateObject("ADODB.Recordset")
 
 
    ptr.Open " select sum (_quantite), _codefonds, _dateoperation,_typepart from omega.fcp.sousrac where _dateoperation = '" & dateope & "' ORDER BY _codefonds,_typepart ", Mybd
 
        Do While Not ptr.EOF
 
 
        quantitesousrach = ptr("sum_QUANTITE")
        codefonds = ptr("_codefonds")
        typepart_ = ptr("_typepart")
 
        chargement_quantite_sousrac_omega = quantitesousrach
        chargement_quantite_sousrac_omegaa = codefonds
 
 
MsgBox quantitesousrach & codefonds
 
 
 
 
 
       Sheets("Sousrac").Range("h" & i) = quantitesousrach
       Sheets("Sousrac").Range("I" & i) = codefonds
       Sheets("Sousrac").Range("j" & i) = typepart_
        i = 1 + i
 
 
        ptr.movenext
 
 
    Loop
 
 
 
 
    Else
    End If
    End If
 
           Next i
 
 
 
 
 
End Function

je me récupére le message d'erreur en pièce jointe


je ne vois pas ce qui cloche

si qqun a une idée.......