Bonjour,
Je veux récupérer la valeur du champ TOTAL_Envoi dans la variable résultat en code VBA, mais ma requête est complexe en exécutant le code j'obtiens le message d'erreur suivant:"Erreur d'execution 3061 Trop peu de paramètres.5 attendu." Que faire?

Voilà mon code à exécuter:
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
Private Sub Commande0_Click()
Dim requete As Recordset
Dim sql As String
Dim resultat As Long
sql = "SELECT  TBL_MVT_CPT_A_MVT_CPT.Date_Mvt, TBL_DE_COMPTE.Nom_PDV_D_CPTE, TBL_DE_COMPTE.Prenom_PDV_D_CPTE, TBL_A_COMPTE.Nom_PDV, TBL_A_COMPTE.Prenom_PDV, TBL_MVT_CPT_A_MVT_CPT.Sens_Mvt, Sum(TBL_MVT_CPT_A_MVT_CPT.Montant_Mvt) AS TOTAL_Envoi " & vbCrLf & _
"FROM TBL_A_COMPTE INNER JOIN (TBL_DE_COMPTE INNER JOIN TBL_MVT_CPT_A_MVT_CPT ON TBL_DE_COMPTE.Num_Tel_D_CPTE = TBL_MVT_CPT_A_MVT_CPT.Num_Tel_D_CPTE) ON TBL_A_COMPTE.Num_Tel_A_COMPTE = TBL_MVT_CPT_A_MVT_CPT.Num_Tel_A_COMPTE " & vbCrLf & _
"GROUP BY TBL_MVT_CPT_A_MVT_CPT.Date_Mvt, TBL_DE_COMPTE.Nom_PDV_D_CPTE, TBL_DE_COMPTE.Prenom_PDV_D_CPTE, TBL_A_COMPTE.Nom_PDV, TBL_A_COMPTE.Prenom_PDV, TBL_MVT_CPT_A_MVT_CPT.Sens_Mvt " & vbCrLf & _
"HAVING (((TBL_MVT_CPT_A_MVT_CPT.Date_Mvt)=[DONNER LA DATE MVT]) AND ((TBL_DE_COMPTE.Nom_PDV_D_CPTE)=[DONNER LE NOM DE COMPTE]) AND ((TBL_DE_COMPTE.Prenom_PDV_D_CPTE)=[DONNER LE PRENOM DE COMPTE])) OR (((TBL_DE_COMPTE.Nom_PDV_D_CPTE)=[DONNER LE NOM A COMPTE]) AND ((TBL_DE_COMPTE.Prenom_PDV_D_CPTE)=[DONNER LE PRENOM A COMPTE]) AND ((TBL_MVT_CPT_A_MVT_CPT.Sens_Mvt)='Envoi')); "
 
Set requete = CurrentDb.OpenRecordset(sql)
requete.MoveFirst
resultat = requete("TOTAL_Envoi")
MsgBox ("voila" & resultat)
 
End Sub
cordialement,