Bonjour,
J'ai le besoin suivant:
Récupérer la valeur "Montant" dans une requête qui ne renvoi qu'une seule ligne.
Je pensais que ca allait être très simple mais j'ai une succession d'erreur...
Au début je pensais passer par un recordset puis pour court-circuiter l'erreur j'ai voulu passer par un DLookup pour au final revenir sur le recordset... sans succès.
Voici mon code actuel:
Et j'ai l'erreur suivante qui pop: "Erreur '3061', trop peu de paramètres. Au moins 1 attendu" sur la ligne suivante:
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 Function AffichageMontant() Dim Montant As Integer Dim rstACTION As DAO.Recordset Dim strSQL As String '-- lecture de la requête pour récupérer le montant total relancé strSQL = "SELECT ACTIONS.NUM_ACTION, ACTIONS.Montant FROM Actions WHERE (((ACTIONS.NUM_ACTION)=[Formulaires]![Saisie Action]![NUM_ACTION]));" '-- ouverture d'un recordset contenant résultat de la requête action Set rstACTION = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset) '-- test du volume du recordset, s'il est vide: fin de la procédure If rstACTION.EOF Then Exit Sub MsgBox (Montant) End Function
Remarques: cette fonction est intégrée dans un module avec une autre fonction qui comporte des variables du même nom, est-ce un problème ? Initialement, cette fonction étant complémentaire, je l'avais directement inclue dans la fonction principale, mais pour gérer l'erreur je l'ai ressortie afin d'y voir plus clair.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Set rstACTION = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)
J'ai cherché pendant 2 bonnes heures sans succès ...
Merci
Partager