Trop peu de parametres. 1 attendu.

Résolu/Fermé
mimi - 5 août 2010 à 15:12
 mimi - 6 août 2010 à 19:28
Bonjour,

Quand j'exécute le code avec

'chSQL = "SELECT T_Tjudo.mail" & _
'" FROM T_Tjudo" & _
'" GROUP BY T_Tjudo.mail" & _
'" HAVING (((T_Tjudo.mail)='domhervouin@aol.com'));"
ça marche mais c'est pas ce que je veux

ce que je veux c'est récupérer une adresse mail suivant un nom choisi dans une liste modifiable comme le fait la requete suivante
chSQL = "SELECT listenoms.Nomprenom, listenoms.mail" & _
" FROM listenoms" & _
" WHERE (((listenoms.Nomprenom)=formulaires!Menu!modifiable37));"

mais je n'y arrive pas j'ai le message suivant :
" Trop peu de parametres. 1 attendu. "

Function Envoi_fiche_inscription1()

On Error GoTo Envoi_fiche_inscription1_Err

Dim Qry As dao.QueryDef
Dim Rs As dao.Recordset
Dim chSQL As String

chSQL = "SELECT listenoms.Nomprenom, listenoms.mail" & _
" FROM listenoms" & _
" WHERE (((listenoms.Nomprenom)=formulaires!Menu!modifiable37));"

'chSQL = "SELECT T_Tjudo.mail" & _
'" FROM T_Tjudo" & _
'" GROUP BY T_Tjudo.mail" & _
'" HAVING (((T_Tjudo.mail)='domhervouin@aol.com'));"


Set tb = CurrentDb.OpenRecordset(chSQL)
adresse = tb.mail

Set Qry = Nothing
Set Rs = Nothing

DoCmd.SendObject acReport, "F indiv", "RichTextFormat(*.rtf)", adresse, "", "", "Inscription judo", "Bonjour," , True, ""

Envoi_fiche_inscription1_Exit:
Exit Function

Envoi_fiche_inscription1_Err:
MsgBox Error$
Resume Envoi_fiche_inscription1_Exit

End Function

8 réponses

Salut,

en vba, tu devrai plutot ecrire qqch comme ca :

chSQL = "SELECT listenoms.Nomprenom, listenoms.mail" & _
" FROM listenoms" & _
" WHERE (((listenoms.Nomprenom)=" & forms!Menu!modifiable37 & "));"

je ne garantie l'exactitude de la syntaxe.

a+
0
Y'a du mieux mais

Effectivement y'a un pb de syntaxe mais je ne vois pas lequel

J'ai le message suivant

Erreur de syntaxe (opérateur absent) dans l'expression `(((listenoms.nomprenom) = Nom choisi))'



A+
0
Avec ca ?
& Forms![nom_du_formulaire]![nom_du_champs] &

A+
0
Non plus et si je met n'importe quoi à la place du signe = par exemple "toto"
j'ai le même message d'erreur avec
" WHERE listenoms.NomPrenom toto " & Forms!Menu!Modifiable37 & " ;"
Erreur de syntaxe (opérateur absent) dans l'expression '(((listenoms.nomprenom) toto Nom choisi))'

A+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
en ajoutant des quotes simples pour encadrer la valeur que tu récupères de ton form :

chSQL = "SELECT listenoms.Nomprenom, listenoms.mail" & _
" FROM listenoms" & _
" WHERE (((listenoms.Nomprenom)='"& Forms![Menu]![modifiable37] & "'));"
0
Super çà marche !!
Merci Jean-Marie.
0
C'est encore moi
Maintenant j'essai de ne pas executer l'envoi du mail si l'adhérent n'a pas d'adresse et ça va pas

Set tb = CurrentDb.OpenRecordset(chSQL)

adresse = tb.mail

If adresse = "" Then GoTo 10


10 MsgBox "Cet adhérent n'a pas d'adresse mail"
0
T'embête pas, j'ai trouvé
If isnull(adresse) ald adresse = ""
0