Trop peu de parametres. 1 attendu.

Résolu
mimi -  
 mimi -
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

  1. Jean-Marie
     
    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
  2. mimi
     
    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
  3. Jean-Marie
     
    Avec ca ?
    & Forms![nom_du_formulaire]![nom_du_champs] &

    A+
    0
  4. mimi
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Jean-Marie
     
    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
  7. mimi
     
    Super çà marche !!
    Merci Jean-Marie.
    0
  8. mimi
     
    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
  9. mimi
     
    T'embête pas, j'ai trouvé
    If isnull(adresse) ald adresse = ""
    0