OVH Cloud OVH Cloud

Comment faire une fonction qui renvoi le resulta d'une requête u ni

2 réponses
Avatar
patte
Bonjour ,
j'ai besoin de faire une fonction qui renvoie le cumul (somme )
du resulta d'une requête union !
vla le code que j'ai fait mais sa marche pas
si qq'un a une idée parce que la je craque sa fait 4 jour que je cherche !!!
j'y arrive pas!!!!
merci

//Code de la fonction
Function Sumdepl(var As String)
Dim cnnLocal As New ADODB.Connection
Dim rstCurr As New ADODB.Recordset
Dim fldCurr As ADODB.Field
Set cnnLocal = CurrentProject.Connection
rstCurr.Open "SELECT [Champ],[Montant] FROM [Table1] UNION all SELECT
[Champ],[Montant ] FROM [Table2] UNION all SELECT [Champ],[Montant] FROM
[Table3];", cnnLocal, adOpenKeyset, adLockPessimistic
With rstCurr
Do Until .EOF
For Each fldCurr In .Fields
z = fldCurr.Value
z = z+z
Next
.MoveNext
Loop
End With
Sumdepl = z
rstCurr.Close
End Function

2 réponses

Avatar
Gafish
Bonjour,

A mon avis tu as un souci ici déja au moins :

z = fldCurr.Value
z = z+z

tu écrases ton ancien z.
Fais plutot

z = z + fldCurr.Value

Arnaud

"patte" a écrit dans le message news:

Bonjour ,
j'ai besoin de faire une fonction qui renvoie le cumul (somme )
du resulta d'une requête union !
vla le code que j'ai fait mais sa marche pas
si qq'un a une idée parce que la je craque sa fait 4 jour que je cherche
!!!

j'y arrive pas!!!!
merci

//Code de la fonction
Function Sumdepl(var As String)
Dim cnnLocal As New ADODB.Connection
Dim rstCurr As New ADODB.Recordset
Dim fldCurr As ADODB.Field
Set cnnLocal = CurrentProject.Connection
rstCurr.Open "SELECT [Champ],[Montant] FROM [Table1] UNION all SELECT
[Champ],[Montant ] FROM [Table2] UNION all SELECT [Champ],[Montant] FROM
[Table3];", cnnLocal, adOpenKeyset, adLockPessimistic
With rstCurr
Do Until .EOF
For Each fldCurr In .Fields
z = fldCurr.Value
z = z+z
Next
.MoveNext
Loop
End With
Sumdepl = z
rstCurr.Close
End Function











Avatar
patte
merci beaucoup
l'erreur etait la !
sa marche ;-))



Bonjour,

A mon avis tu as un souci ici déja au moins :

z = fldCurr.Value
z = z+z

tu écrases ton ancien z.
Fais plutot

z = z + fldCurr.Value

Arnaud

"patte" a écrit dans le message news:

Bonjour ,
j'ai besoin de faire une fonction qui renvoie le cumul (somme )
du resulta d'une requête union !
vla le code que j'ai fait mais sa marche pas
si qq'un a une idée parce que la je craque sa fait 4 jour que je cherche
!!!

j'y arrive pas!!!!
merci

//Code de la fonction
Function Sumdepl(var As String)
Dim cnnLocal As New ADODB.Connection
Dim rstCurr As New ADODB.Recordset
Dim fldCurr As ADODB.Field
Set cnnLocal = CurrentProject.Connection
rstCurr.Open "SELECT [Champ],[Montant] FROM [Table1] UNION all SELECT
[Champ],[Montant ] FROM [Table2] UNION all SELECT [Champ],[Montant] FROM
[Table3];", cnnLocal, adOpenKeyset, adLockPessimistic
With rstCurr
Do Until .EOF
For Each fldCurr In .Fields
z = fldCurr.Value
z = z+z
Next
.MoveNext
Loop
End With
Sumdepl = z
rstCurr.Close
End Function