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...

10 réponses

1 2
Avatar
Raymond [mvp]
Bonjour.

Tu peux faire ceci:
Dim db As DAO.Database
Dim Rs As DAO.Recordset
Set db = CurrentDb
Set Rs = db.OpenRecordset("SELECT CONTACT.Mail_contact FROM CONTACT GROUP BY
CONTACT.Mail_contact;")
If Not Rs.EOF Then
Do Until Rs.EOF
' ici l'envoi pour chacun <<------------------------------
Rs.MoveNext
Loop
End If

ou bien

Dim Liste As String
Dim db As DAO.Database
Dim Rs As DAO.Recordset
Set db = CurrentDb
Set Rs = db.OpenRecordset("SELECT CONTACT.Mail_contact FROM CONTACT GROUP BY
CONTACT.Mail_contact;")
If Not Rs.EOF Then
Do Until Rs.EOF
Liste = Liste & Rs(0) & ";"
Rs.MoveNext
Loop
End If

et tu inclus Liste dans ta commande SendObject dans les destinataires CCI

--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/
http://officesystem.access.over-blog.com/
http://officesystem.access.free.fr/wiki/
Pour débuter sur le forum: http://www.mpfa.info/

Cet été, j'en ai rien à coder, je me forme : les devoirs de vacances
http://www.comscamp.com/Tracker/Redirect.ashx?linkidp47a5ea-bce8-4da8-bb67-87e0c49c57e8


"JERONIMO" a écrit dans le message de
news:
| 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...
Avatar
JERONIMO
Bonjour,

Excuse moua mais jsuis un peu bete... Mais ou je met tous ce code??? J'ai
essayer dans une requete mais ca dois pas etre ca et ensuite dans un
formulaire mais il bloque sur Dim db As DAO.Database... non defini...

merci...


Bonjour.

Tu peux faire ceci:
Dim db As DAO.Database
Dim Rs As DAO.Recordset
Set db = CurrentDb
Set Rs = db.OpenRecordset("SELECT CONTACT.Mail_contact FROM CONTACT GROUP BY
CONTACT.Mail_contact;")
If Not Rs.EOF Then
Do Until Rs.EOF
' ici l'envoi pour chacun <<------------------------------
Rs.MoveNext
Loop
End If

ou bien

Dim Liste As String
Dim db As DAO.Database
Dim Rs As DAO.Recordset
Set db = CurrentDb
Set Rs = db.OpenRecordset("SELECT CONTACT.Mail_contact FROM CONTACT GROUP BY
CONTACT.Mail_contact;")
If Not Rs.EOF Then
Do Until Rs.EOF
Liste = Liste & Rs(0) & ";"
Rs.MoveNext
Loop
End If

et tu inclus Liste dans ta commande SendObject dans les destinataires CCI

--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/
http://officesystem.access.over-blog.com/
http://officesystem.access.free.fr/wiki/
Pour débuter sur le forum: http://www.mpfa.info/

Cet été, j'en ai rien à coder, je me forme : les devoirs de vacances
http://www.comscamp.com/Tracker/Redirect.ashx?linkidp47a5ea-bce8-4da8-bb67-87e0c49c57e8


"JERONIMO" a écrit dans le message de
news:
| 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...






Avatar
Thierry (ze Titi)
Hello JERONIMO !

Je m'immisce dans la conversation... Dans les références (Editeur
Visual Basic, là où tu as collé le code proposé par Raymond, Menu
Outils), coche la référence Microsoft DAO 3.6 Object Library

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

Excuse moua mais jsuis un peu bete... Mais ou je met tous ce code??? J'ai
essayer dans une requete mais ca dois pas etre ca et ensuite dans un
formulaire mais il bloque sur Dim db As DAO.Database... non defini...

merci...


Bonjour.

Tu peux faire ceci:
Dim db As DAO.Database
Dim Rs As DAO.Recordset
Set db = CurrentDb
Set Rs = db.OpenRecordset("SELECT CONTACT.Mail_contact FROM CONTACT GROUP BY
CONTACT.Mail_contact;")
If Not Rs.EOF Then
Do Until Rs.EOF
' ici l'envoi pour chacun <<------------------------------
Rs.MoveNext
Loop
End If

ou bien

Dim Liste As String
Dim db As DAO.Database
Dim Rs As DAO.Recordset
Set db = CurrentDb
Set Rs = db.OpenRecordset("SELECT CONTACT.Mail_contact FROM CONTACT GROUP BY
CONTACT.Mail_contact;")
If Not Rs.EOF Then
Do Until Rs.EOF
Liste = Liste & Rs(0) & ";"
Rs.MoveNext
Loop
End If

et tu inclus Liste dans ta commande SendObject dans les destinataires CCI

--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/
http://officesystem.access.over-blog.com/
http://officesystem.access.free.fr/wiki/
Pour débuter sur le forum: http://www.mpfa.info/

Cet été, j'en ai rien à coder, je me forme : les devoirs de vacances
http://www.comscamp.com/Tracker/Redirect.ashx?linkidp47a5ea-bce8-4da8-bb67-87e0c49c57e8


"JERONIMO" a écrit dans le message de
news:
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...








--
Cordialement,
Thierry

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



Avatar
JERONIMO
oui merci c bien ca du coup ca marche, mais j'ai essayer maintenant en
mettant un critere supplementaire comme cette requete :

SELECT DISTINCT CONTACT.Mail_contact
FROM CONTACT
WHERE (((CONTACT.Rolereso_contact)="Membre de droit"));

mais la il me met erreur dans la formule : erreur de syntaxe

Private Sub Form_Open(Cancel As Integer)
Dim Liste As String
Dim db As DAO.Database
Dim Rs As DAO.recordset
Set db = CurrentDb
Set Rs = db.OpenRecordset("SELECT DISTINCT CONTACT.Mail_contact FROM CONTACT
WHERE (((CONTACT.Rolereso_contact)="Membre de droit"));")
If Not Rs.EOF Then
Do Until Rs.EOF
Liste = Liste & Rs(0) & ";"
Rs.MoveNext
Loop
End If
Texte0 = Liste
End Sub

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

merci de votre aide...



Hello JERONIMO !

Je m'immisce dans la conversation... Dans les références (Editeur
Visual Basic, là où tu as collé le code proposé par Raymond, Menu
Outils), coche la référence Microsoft DAO 3.6 Object Library

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

Excuse moua mais jsuis un peu bete... Mais ou je met tous ce code??? J'ai
essayer dans une requete mais ca dois pas etre ca et ensuite dans un
formulaire mais il bloque sur Dim db As DAO.Database... non defini...

merci...


Bonjour.

Tu peux faire ceci:
Dim db As DAO.Database
Dim Rs As DAO.Recordset
Set db = CurrentDb
Set Rs = db.OpenRecordset("SELECT CONTACT.Mail_contact FROM CONTACT GROUP BY
CONTACT.Mail_contact;")
If Not Rs.EOF Then
Do Until Rs.EOF
' ici l'envoi pour chacun <<------------------------------
Rs.MoveNext
Loop
End If

ou bien

Dim Liste As String
Dim db As DAO.Database
Dim Rs As DAO.Recordset
Set db = CurrentDb
Set Rs = db.OpenRecordset("SELECT CONTACT.Mail_contact FROM CONTACT GROUP BY
CONTACT.Mail_contact;")
If Not Rs.EOF Then
Do Until Rs.EOF
Liste = Liste & Rs(0) & ";"
Rs.MoveNext
Loop
End If

et tu inclus Liste dans ta commande SendObject dans les destinataires CCI

--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/
http://officesystem.access.over-blog.com/
http://officesystem.access.free.fr/wiki/
Pour débuter sur le forum: http://www.mpfa.info/

Cet été, j'en ai rien à coder, je me forme : les devoirs de vacances
http://www.comscamp.com/Tracker/Redirect.ashx?linkidp47a5ea-bce8-4da8-bb67-87e0c49c57e8


"JERONIMO" a écrit dans le message de
news:
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...








--
Cordialement,
Thierry

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








Avatar
Eric
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

Avatar
JERONIMO
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




Avatar
Fabien
Bonjour,

Excuse moua mais jsuis un peu bete... Mais ou je met tous ce code??? J'ai
essayer dans une requete mais ca dois pas etre ca et ensuite dans un
formulaire mais il bloque sur Dim db As DAO.Database... non defini...

merci...


Bonjour.

Tu peux faire ceci:
Dim db As DAO.Database
Dim Rs As DAO.Recordset
Set db = CurrentDb
Set Rs = db.OpenRecordset("SELECT CONTACT.Mail_contact FROM CONTACT GROUP BY
CONTACT.Mail_contact;")
If Not Rs.EOF Then
Do Until Rs.EOF
' ici l'envoi pour chacun <<------------------------------
Rs.MoveNext
Loop
End If

ou bien

Dim Liste As String
Dim db As DAO.Database
Dim Rs As DAO.Recordset
Set db = CurrentDb
Set Rs = db.OpenRecordset("SELECT CONTACT.Mail_contact FROM CONTACT GROUP BY
CONTACT.Mail_contact;")
If Not Rs.EOF Then
Do Until Rs.EOF
Liste = Liste & Rs(0) & ";"
Rs.MoveNext
Loop
End If

et tu inclus Liste dans ta commande SendObject dans les destinataires CCI

--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/
http://officesystem.access.over-blog.com/
http://officesystem.access.free.fr/wiki/
Pour débuter sur le forum: http://www.mpfa.info/

Cet été, j'en ai rien à coder, je me forme : les devoirs de vacances
http://www.comscamp.com/Tracker/Redirect.ashx?linkidp47a5ea-bce8-4da8-bb67-87e0c49c57e8


"JERONIMO" a écrit dans le message de
news:
| 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...




Bonjour Jeronimo.


Ton soucis sur Dim db as DAO. .... viens du fait que cette référence
n'est pas cochée dans la liste des bibliothéques.
Dans un module : Outils>Références Coche "microsoft DAO 3.6
object library"


Avatar
Thierry (ze Titi)
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



Avatar
Raymond [mvp]
il faut indiquer le paramètre par vba.
tu as des exemples selon le tyope de requête sur :
http://officesystem.access.free.fr/ex_requetes_vba.htm
attention, sur les versions access 2003 et inférieures seule la colonne 0
d'une liste déroulante est accessible.
--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/
http://officesystem.access.over-blog.com/
http://officesystem.access.free.fr/wiki/
Pour débuter sur le forum: http://www.mpfa.info/

Cet été, j'en ai rien à coder, je me forme : les devoirs de vacances
http://www.comscamp.com/Tracker/Redirect.ashx?linkidp47a5ea-bce8-4da8-bb67-87e0c49c57e8


"JERONIMO" a écrit dans le message de
news:
|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 !!!
|
Avatar
JERONIMO
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








1 2