Extraction d'un cahmps de table dans une zone texte
3 réponses
brinco
Bonjour,
Je souhaiterais récupérer tous les enregistrements non nuls d'un champs
d'une table pour les récupérer dans une variable. L'idée est en fait de
récupérer toutes les adresses mail d'une base (séparées par un ';') et de les
coller dans le champs 'destinataire du mail' de mon formulaire d'envoi de
mail pour pouvoir faire du mailling automatique.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Nobodyisperfect
Hello Brinco
--------- Dim MyDb as Database Dim MyRst as Recordset
Dim Destinataire as Variant
Set MyDb = CurrentDB Set MyRst = MyDB.OpenRecordset("LaTableOuSeTrouveTonChampsMail")
With MyRst .MoveFirst (En principe, ce n'est pas la peine car lorsque tu ouvres un recordset, le curseur se positionne sur le 1er enregistrement... Mais bon, c'est la vieillesse !!) While Not.EOF() .Edit If IsNull(!TonChampMail)úlse or IsEmpty(!TonChampMail)úlse then Destinataire = Destinataire & !TonChampMail &"; " Else End If .Update .MoveNext Wend End With
Set MyRst = Nothing MyDb.Close
Et là, tu fais ce que tu veux avec ta variable "Destinataire" -------------------
@+ Olivier
Hello Brinco
---------
Dim MyDb as Database
Dim MyRst as Recordset
Dim Destinataire as Variant
Set MyDb = CurrentDB
Set MyRst = MyDB.OpenRecordset("LaTableOuSeTrouveTonChampsMail")
With MyRst
.MoveFirst (En principe, ce n'est pas la peine car lorsque tu ouvres un
recordset, le curseur se positionne sur le 1er enregistrement... Mais bon,
c'est la vieillesse !!)
While Not.EOF()
.Edit
If IsNull(!TonChampMail)úlse or IsEmpty(!TonChampMail)úlse then
Destinataire = Destinataire & !TonChampMail &"; "
Else
End If
.Update
.MoveNext
Wend
End With
Set MyRst = Nothing
MyDb.Close
Et là, tu fais ce que tu veux avec ta variable "Destinataire"
-------------------
--------- Dim MyDb as Database Dim MyRst as Recordset
Dim Destinataire as Variant
Set MyDb = CurrentDB Set MyRst = MyDB.OpenRecordset("LaTableOuSeTrouveTonChampsMail")
With MyRst .MoveFirst (En principe, ce n'est pas la peine car lorsque tu ouvres un recordset, le curseur se positionne sur le 1er enregistrement... Mais bon, c'est la vieillesse !!) While Not.EOF() .Edit If IsNull(!TonChampMail)úlse or IsEmpty(!TonChampMail)úlse then Destinataire = Destinataire & !TonChampMail &"; " Else End If .Update .MoveNext Wend End With
Set MyRst = Nothing MyDb.Close
Et là, tu fais ce que tu veux avec ta variable "Destinataire" -------------------
@+ Olivier
brinco
Salut et merci ça marche très bien. Il y a juste les fonction IsNull et IsEmpty qui ne fonctionnenet pas (je passe dans ma boucle à tous les coups, quelle que soit la valeur de mon champ). En remplaçant par '<> null' et '<> " "' ça passe.
Merci encore.
Hello Brinco
--------- Dim MyDb as Database Dim MyRst as Recordset
Dim Destinataire as Variant
Set MyDb = CurrentDB Set MyRst = MyDB.OpenRecordset("LaTableOuSeTrouveTonChampsMail")
With MyRst ..MoveFirst (En principe, ce n'est pas la peine car lorsque tu ouvres un recordset, le curseur se positionne sur le 1er enregistrement... Mais bon, c'est la vieillesse !!) While Not.EOF() .Edit If IsNull(!TonChampMail)úlse or IsEmpty(!TonChampMail)úlse then Destinataire = Destinataire & !TonChampMail &"; " Else End If .Update .MoveNext Wend End With
Set MyRst = Nothing MyDb.Close
Et là, tu fais ce que tu veux avec ta variable "Destinataire" -------------------
@+ Olivier
Salut et merci ça marche très bien. Il y a juste les fonction IsNull et
IsEmpty qui ne fonctionnenet pas (je passe dans ma boucle à tous les coups,
quelle que soit la valeur de mon champ). En remplaçant par '<> null' et '<> "
"' ça passe.
Merci encore.
Hello Brinco
---------
Dim MyDb as Database
Dim MyRst as Recordset
Dim Destinataire as Variant
Set MyDb = CurrentDB
Set MyRst = MyDB.OpenRecordset("LaTableOuSeTrouveTonChampsMail")
With MyRst
..MoveFirst (En principe, ce n'est pas la peine car lorsque tu ouvres un
recordset, le curseur se positionne sur le 1er enregistrement... Mais bon,
c'est la vieillesse !!)
While Not.EOF()
.Edit
If IsNull(!TonChampMail)úlse or IsEmpty(!TonChampMail)úlse then
Destinataire = Destinataire & !TonChampMail &"; "
Else
End If
.Update
.MoveNext
Wend
End With
Set MyRst = Nothing
MyDb.Close
Et là, tu fais ce que tu veux avec ta variable "Destinataire"
-------------------
Salut et merci ça marche très bien. Il y a juste les fonction IsNull et IsEmpty qui ne fonctionnenet pas (je passe dans ma boucle à tous les coups, quelle que soit la valeur de mon champ). En remplaçant par '<> null' et '<> " "' ça passe.
Merci encore.
Hello Brinco
--------- Dim MyDb as Database Dim MyRst as Recordset
Dim Destinataire as Variant
Set MyDb = CurrentDB Set MyRst = MyDB.OpenRecordset("LaTableOuSeTrouveTonChampsMail")
With MyRst ..MoveFirst (En principe, ce n'est pas la peine car lorsque tu ouvres un recordset, le curseur se positionne sur le 1er enregistrement... Mais bon, c'est la vieillesse !!) While Not.EOF() .Edit If IsNull(!TonChampMail)úlse or IsEmpty(!TonChampMail)úlse then Destinataire = Destinataire & !TonChampMail &"; " Else End If .Update .MoveNext Wend End With
Set MyRst = Nothing MyDb.Close
Et là, tu fais ce que tu veux avec ta variable "Destinataire" -------------------
@+ Olivier
Nobodyisperfect
Re bonjour Brinco,
En fait, au lieu de dire Isnull(xxx)úlse "Or" isempty(xxx)úlse, il fallait mettre "And" 8-).
Olivier
Re bonjour Brinco,
En fait, au lieu de dire Isnull(xxx)úlse "Or" isempty(xxx)úlse, il
fallait mettre "And" 8-).