Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

concatenation reponse requete ???

15 réponses
Avatar
JERONIMO
Bonjour,

j'ai cette requete :

SELECT CONTACT.Mail_contact
FROM CONTACT
GROUP BY CONTACT.Mail_contact;

Qui me donne en colonne tous les mails de ma base contact. Je souhaiterais
maintenant ecrire a tous ces contacts d'un coup. Je sais le faire un par un
mais je n'arrive pas a mettre dans une seule ligne toutes mes mails...

Si vous avez la solution...

Merci...

5 réponses

1 2
Avatar
Thierry (ze Titi)
Hello JERONIMO !

Met le nom de la table entre crochets, il n'aime pas le tiret.

En ce jour mémorable du vendredi 20/07/2007, tu as entrepris la lourde
tâche de taper sur ton clavier :
Bonjour

Les techniques vu ci-dessus marche nikel mais je suis de nouveau bloquer sur
ce type de requete. :

il me met erreur de syntaxe dans la clause FROM ???

Dim Liste13 As String
Dim db13 As DAO.Database
Dim Rs13 As DAO.recordset
Set db13 = CurrentDb
Set Rs13 = db.OpenRecordset("SELECT DISTINCT
Contacts-Etablissements.Mail1_contact_Etab FROM Contacts-Etablissements WHERE
Contacts-Etablissements.Soins1='-1';")
If Not Rs13.EOF Then
Do Until Rs13.EOF
Liste13 = Liste13 & Rs13(0) & ";"
Rs13.MoveNext
Loop
End If

Texte40 = Liste13



Et en remplaçant Formulaires par Forms ?

En ce jour mémorable du lundi 16/07/2007, tu as entrepris la lourde
tâche de taper sur ton clavier :
c ok en effet: mais je veux simplifier tous ca par un choix de
l'utilisateur dans une liste deroulante et la ca coince:

Erreur : Trop peu de parametres. 1 attendu ???
Set Rs = db.OpenRecordset("SELECT DISTINCT CONTACT.Mail_contact FROM
CONTACT WHERE
CONTACT.Rolereso_contact=Formulaires![choix-role-reso]![Rolereso_contact];")

Merci de votre aide !!!


Bonjour,

Mets :
Set Rs = db.OpenRecordset("SELECT DISTINCT CONTACT.Mail_contact FROM
CONTACT WHERE CONTACT.Rolereso_contact='Membre de droit';")

...

a cette ligne : Erreur de syntaxe :
Set Rs = db.OpenRecordset("SELECT DISTINCT CONTACT.Mail_contact FROM
CONTACT WHERE (((CONTACT.Rolereso_contact)="Membre de droit"));")



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr




--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info






--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info





Avatar
JERONIMO
Ok ca c bon, on complique un peu en effet je voudrais avoir tous les e-mails
des contacts suivant qu'un contact peut avoir jusqu'a 3 mail differents car 3
etablissement. Et je voudrais tous ces mail suivant s'ils font du soins ce
qui ce traduit a peut pres ainsi dans la requete :

'Contact Etablissement Soins :

Dim Liste13 As String
Dim db13 As DAO.Database
Dim Rs13 As DAO.recordset
Dim Rs130 As DAO.recordset
Dim Rs131 As DAO.recordset

Set db13 = CurrentDb
Set Rs13 = db.OpenRecordset("SELECT DISTINCT
[Contacts-Etablissements].Mail1_contact_Etab FROM [Contacts-Etablissements]
WHERE [Contacts-Etablissements].Soins1=-1 Or
[Contacts-Etablissements].Soins2=-1 or [Contacts-Etablissements].Soins3=-1")
Set Rs130 = db.OpenRecordset("SELECT DISTINCT
[Contacts-Etablissements].Mail2_contact_Etab FROM [Contacts-Etablissements]
WHERE [Contacts-Etablissements].Soins1=-1 Or
[Contacts-Etablissements].Soins2=-1 or [Contacts-Etablissements].Soins3=-1")
Set Rs131 = db.OpenRecordset("SELECT DISTINCT
[Contacts-Etablissements].Mail3_contact_Etab FROM [Contacts-Etablissements]
WHERE [Contacts-Etablissements].Soins1=-1 Or
[Contacts-Etablissements].Soins2=-1 or [Contacts-Etablissements].Soins3=-1")

If Not Rs13.EOF Then
Do Until Rs13.EOF
Liste13 = Liste13 & Rs13(0) & ";"
Rs13.MoveNext
Loop
End If
If Not Rs130.EOF Then
Do Until Rs130.EOF
Liste13 = Liste13 & Rs130(0) & ";"
Rs130.MoveNext
Loop
End If
If Not Rs131.EOF Then
Do Until Rs131.EOF
Liste13 = Liste13 & Rs131(0) & ";"
Rs131.MoveNext
Loop
End If

Texte40 = Liste13

resultat : 1332;gg;jhgj;;222222222222;deux;;
Voila le probleme c'est le double ;; du a mes triples if...
si vous avez un truc plus simple...










Hello JERONIMO !

Met le nom de la table entre crochets, il n'aime pas le tiret.

En ce jour mémorable du vendredi 20/07/2007, tu as entrepris la lourde
tâche de taper sur ton clavier :
Bonjour

Les techniques vu ci-dessus marche nikel mais je suis de nouveau bloquer sur
ce type de requete. :

il me met erreur de syntaxe dans la clause FROM ???

Dim Liste13 As String
Dim db13 As DAO.Database
Dim Rs13 As DAO.recordset
Set db13 = CurrentDb
Set Rs13 = db.OpenRecordset("SELECT DISTINCT
Contacts-Etablissements.Mail1_contact_Etab FROM Contacts-Etablissements WHERE
Contacts-Etablissements.Soins1='-1';")
If Not Rs13.EOF Then
Do Until Rs13.EOF
Liste13 = Liste13 & Rs13(0) & ";"
Rs13.MoveNext
Loop
End If

Texte40 = Liste13



Et en remplaçant Formulaires par Forms ?

En ce jour mémorable du lundi 16/07/2007, tu as entrepris la lourde
tâche de taper sur ton clavier :
c ok en effet: mais je veux simplifier tous ca par un choix de
l'utilisateur dans une liste deroulante et la ca coince:

Erreur : Trop peu de parametres. 1 attendu ???
Set Rs = db.OpenRecordset("SELECT DISTINCT CONTACT.Mail_contact FROM
CONTACT WHERE
CONTACT.Rolereso_contact=Formulaires![choix-role-reso]![Rolereso_contact];")

Merci de votre aide !!!


Bonjour,

Mets :
Set Rs = db.OpenRecordset("SELECT DISTINCT CONTACT.Mail_contact FROM
CONTACT WHERE CONTACT.Rolereso_contact='Membre de droit';")

...

a cette ligne : Erreur de syntaxe :
Set Rs = db.OpenRecordset("SELECT DISTINCT CONTACT.Mail_contact FROM
CONTACT WHERE (((CONTACT.Rolereso_contact)="Membre de droit"));")



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr




--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info






--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info










Avatar
JERONIMO
Je pense qu'il faudrais une fonction apres chaque fin de if pour supprimer un
caractere a gauche dans la liste...


Hello JERONIMO !

Met le nom de la table entre crochets, il n'aime pas le tiret.

En ce jour mémorable du vendredi 20/07/2007, tu as entrepris la lourde
tâche de taper sur ton clavier :
Bonjour

Les techniques vu ci-dessus marche nikel mais je suis de nouveau bloquer sur
ce type de requete. :

il me met erreur de syntaxe dans la clause FROM ???

Dim Liste13 As String
Dim db13 As DAO.Database
Dim Rs13 As DAO.recordset
Set db13 = CurrentDb
Set Rs13 = db.OpenRecordset("SELECT DISTINCT
Contacts-Etablissements.Mail1_contact_Etab FROM Contacts-Etablissements WHERE
Contacts-Etablissements.Soins1='-1';")
If Not Rs13.EOF Then
Do Until Rs13.EOF
Liste13 = Liste13 & Rs13(0) & ";"
Rs13.MoveNext
Loop
End If

Texte40 = Liste13



Et en remplaçant Formulaires par Forms ?

En ce jour mémorable du lundi 16/07/2007, tu as entrepris la lourde
tâche de taper sur ton clavier :
c ok en effet: mais je veux simplifier tous ca par un choix de
l'utilisateur dans une liste deroulante et la ca coince:

Erreur : Trop peu de parametres. 1 attendu ???
Set Rs = db.OpenRecordset("SELECT DISTINCT CONTACT.Mail_contact FROM
CONTACT WHERE
CONTACT.Rolereso_contact=Formulaires![choix-role-reso]![Rolereso_contact];")

Merci de votre aide !!!


Bonjour,

Mets :
Set Rs = db.OpenRecordset("SELECT DISTINCT CONTACT.Mail_contact FROM
CONTACT WHERE CONTACT.Rolereso_contact='Membre de droit';")

...

a cette ligne : Erreur de syntaxe :
Set Rs = db.OpenRecordset("SELECT DISTINCT CONTACT.Mail_contact FROM
CONTACT WHERE (((CONTACT.Rolereso_contact)="Membre de droit"));")



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr




--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info






--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info










Avatar
Fabien
Bonjour
et si ...
If Not Rs13.EOF Then
Do Until Rs13.EOF
If nz(Rs13(0),"")<>"" then
Liste13 = Liste13 & Rs13(0) & ";"
end if
Rs13.MoveNext
Loop
End If
If Not Rs130.EOF Then
Do Until Rs130.EOF
If nz(Rs130(0),"")<>"" then
Liste13 = Liste13 & Rs130(0) & ";"
End if
Rs130.MoveNext
Loop
End If
If Not Rs131.EOF Then
Do Until Rs131.EOF
If nz(Rs131(0),"")<>"" then
Liste13 = Liste13 & Rs131(0) & ";"
end if
Rs131.MoveNext
Loop
End If

ferait l'affaire ?
sinon une fonction pour enlever le dernier caractere a gauche
left(chaine,len(chaine)-1))
@+

Je pense qu'il faudrais une fonction apres chaque fin de if pour supprimer un
caractere a gauche dans la liste...


Hello JERONIMO !

Met le nom de la table entre crochets, il n'aime pas le tiret.

En ce jour mémorable du vendredi 20/07/2007, tu as entrepris la lourde
tâche de taper sur ton clavier :
Bonjour

Les techniques vu ci-dessus marche nikel mais je suis de nouveau bloquer sur
ce type de requete. :

il me met erreur de syntaxe dans la clause FROM ???

Dim Liste13 As String
Dim db13 As DAO.Database
Dim Rs13 As DAO.recordset
Set db13 = CurrentDb
Set Rs13 = db.OpenRecordset("SELECT DISTINCT
Contacts-Etablissements.Mail1_contact_Etab FROM Contacts-Etablissements WHERE
Contacts-Etablissements.Soins1='-1';")
If Not Rs13.EOF Then
Do Until Rs13.EOF
Liste13 = Liste13 & Rs13(0) & ";"
Rs13.MoveNext
Loop
End If

Texte40 = Liste13



Et en remplaçant Formulaires par Forms ?

En ce jour mémorable du lundi 16/07/2007, tu as entrepris la lourde
tâche de taper sur ton clavier :
c ok en effet: mais je veux simplifier tous ca par un choix de
l'utilisateur dans une liste deroulante et la ca coince:

Erreur : Trop peu de parametres. 1 attendu ???
Set Rs = db.OpenRecordset("SELECT DISTINCT CONTACT.Mail_contact FROM
CONTACT WHERE
CONTACT.Rolereso_contact=Formulaires![choix-role-reso]![Rolereso_contact];")

Merci de votre aide !!!


Bonjour,

Mets :
Set Rs = db.OpenRecordset("SELECT DISTINCT CONTACT.Mail_contact FROM
CONTACT WHERE CONTACT.Rolereso_contact='Membre de droit';")

...

a cette ligne : Erreur de syntaxe :
Set Rs = db.OpenRecordset("SELECT DISTINCT CONTACT.Mail_contact FROM
CONTACT WHERE (((CONTACT.Rolereso_contact)="Membre de droit"));")

--

A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

--


Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info



--


Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info












Avatar
JERONIMO
merci bcp ca marche nikel

maintenant j'aimerais preciser la valeur qui se trouve dans un champs du
formulaire :
Set Rs17 = db.OpenRecordset("SELECT DISTINCT CONTACT.Mail_contact FROM
CONTACT WHERE CONTACT.Actions1=1 or CONTACT.Actions2=1 or CONTACT.Actions3=1
or CONTACT.Actions4=1 or CONTACT.Actions5=1 or CONTACT.Actions6=1 ;")

a la place des 1 mettre par exemple Texte55 qui remplace le 1 mais la ca ne
fonctionne pas erreur : type de données incompatible pourtant c'est bien 1
dans la zone texte55.

Set Rs18 = db.OpenRecordset("SELECT DISTINCT CONTACT.Mail_contact FROM
CONTACT WHERE CONTACT.Actions1='texte55' or CONTACT.Actions2='texte55' or
CONTACT.Actions3='texte55' or CONTACT.Actions4='texte55' or
CONTACT.Actions5='texte55' or CONTACT.Actions6='texte55' ;")

j'ai essayer sans les ' mais c pas mieux ...


Bonjour
et si ...
If Not Rs13.EOF Then
Do Until Rs13.EOF
If nz(Rs13(0),"")<>"" then
Liste13 = Liste13 & Rs13(0) & ";"
end if
Rs13.MoveNext
Loop
End If
If Not Rs130.EOF Then
Do Until Rs130.EOF
If nz(Rs130(0),"")<>"" then
Liste13 = Liste13 & Rs130(0) & ";"
End if
Rs130.MoveNext
Loop
End If
If Not Rs131.EOF Then
Do Until Rs131.EOF
If nz(Rs131(0),"")<>"" then
Liste13 = Liste13 & Rs131(0) & ";"
end if
Rs131.MoveNext
Loop
End If

ferait l'affaire ?
sinon une fonction pour enlever le dernier caractere a gauche
left(chaine,len(chaine)-1))
@+

Je pense qu'il faudrais une fonction apres chaque fin de if pour supprimer un
caractere a gauche dans la liste...


Hello JERONIMO !

Met le nom de la table entre crochets, il n'aime pas le tiret.

En ce jour mémorable du vendredi 20/07/2007, tu as entrepris la lourde
tâche de taper sur ton clavier :
Bonjour

Les techniques vu ci-dessus marche nikel mais je suis de nouveau bloquer sur
ce type de requete. :

il me met erreur de syntaxe dans la clause FROM ???

Dim Liste13 As String
Dim db13 As DAO.Database
Dim Rs13 As DAO.recordset
Set db13 = CurrentDb
Set Rs13 = db.OpenRecordset("SELECT DISTINCT
Contacts-Etablissements.Mail1_contact_Etab FROM Contacts-Etablissements WHERE
Contacts-Etablissements.Soins1='-1';")
If Not Rs13.EOF Then
Do Until Rs13.EOF
Liste13 = Liste13 & Rs13(0) & ";"
Rs13.MoveNext
Loop
End If

Texte40 = Liste13



Et en remplaçant Formulaires par Forms ?

En ce jour mémorable du lundi 16/07/2007, tu as entrepris la lourde
tâche de taper sur ton clavier :
c ok en effet: mais je veux simplifier tous ca par un choix de
l'utilisateur dans une liste deroulante et la ca coince:

Erreur : Trop peu de parametres. 1 attendu ???
Set Rs = db.OpenRecordset("SELECT DISTINCT CONTACT.Mail_contact FROM
CONTACT WHERE
CONTACT.Rolereso_contact=Formulaires![choix-role-reso]![Rolereso_contact];")

Merci de votre aide !!!


Bonjour,

Mets :
Set Rs = db.OpenRecordset("SELECT DISTINCT CONTACT.Mail_contact FROM
CONTACT WHERE CONTACT.Rolereso_contact='Membre de droit';")

...

a cette ligne : Erreur de syntaxe :
Set Rs = db.OpenRecordset("SELECT DISTINCT CONTACT.Mail_contact FROM
CONTACT WHERE (((CONTACT.Rolereso_contact)="Membre de droit"));")

--

A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

--


Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info



--


Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info















1 2