Recherche caractere dans un champ

Le
Exodus
Bonjour,

Un petit problème pour lequel je ne trouve pas de solution simple :
Dans une table Access j'ai un champ qui contient des adresses mail avec
comme séparateur une virgule comme par ex "titi@tt.com,vtiti@hj.com". Or je
voudrais pouvoir extraire que la première adresse mail. Existe-t-il une
fonction permettant de récupérer tout ce qui est à gauche de la virgule ?

Voilà c'est tout.
Merci pour vos infos.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Thierry (ze Titi)
Le #6292621
Hello Exodus !

taVariable=Left(tonChamps, Instr(tonChamp,",")-1)

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

Un petit problème pour lequel je ne trouve pas de solution simple :
Dans une table Access j'ai un champ qui contient des adresses mail avec
comme séparateur une virgule comme par ex ",". Or je
voudrais pouvoir extraire que la première adresse mail. Existe-t-il une
fonction permettant de récupérer tout ce qui est à gauche de la virgule ?

Voilà c'est tout.
Merci pour vos infos.


--
Cordialement,
Thierry

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

Exodus
Le #6292541

Hello Exodus !

taVariable=Left(tonChamps, Instr(tonChamp,",")-1)

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

Un petit problème pour lequel je ne trouve pas de solution simple :
Dans une table Access j'ai un champ qui contient des adresses mail avec
comme séparateur une virgule comme par ex ",". Or je
voudrais pouvoir extraire que la première adresse mail. Existe-t-il une
fonction permettant de récupérer tout ce qui est à gauche de la virgule ?

Voilà c'est tout.
Merci pour vos infos.


--
Cordialement,
Thierry

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






Gloops
Le #6292451
Thierry (ze Titi) a écrit, le 11/07/2007 15:23 :
Hello Exodus !

taVariable=Left(tonChamps, Instr(tonChamp,",")-1)


Salut,

Effectivement, on peut faire comme ça et c'est le plus simple.

Comme j'ai un esprit un peu compliqué, j'anticipe l'intention de pouvoi r
extraire les différentes adresses mail inscrites dans le champ.

Dim ListeAdresses() as String
'très importantes, les parenthèses
'Attention qu'il existe deux syntaxes de Split selon la plateforme
utilisée (si je ne me trompe, DAO ou ADO)


ListeAdresses = Split(tonChamps, ",")

premiereadresse = ListeAdresses(0)

deuxiemeadresse = ListeAdresses(1)

NombreDadresses = UBound(ListeAdresses)

Pour vérifier à quel indice on commence : LBound(ListeAdresses)

Ce qui n'empêche, bien entendu, de considérer que ça serait plus
rationnel d'avoir une adresse par enregistrement, et autant
d'enregistrements par correspondant qu'il propose d'adresses pour le
contacter. Mais à ce moment-là, on n'utilise plus ni Instr, ni Split.


Bien entendu, une fois que la base est faite comme ça ...

christian
Le #6308061
Bonjour,

Tu importe ta table dans excel tu fais remplacé ( , *)par rien
et tu teretrouve avec une table sans les caractères se situant à droite de
ta virgule

Bye Christian

"Exodus" news:
Bonjour,

Un petit problème pour lequel je ne trouve pas de solution simple :
Dans une table Access j'ai un champ qui contient des adresses mail avec
comme séparateur une virgule comme par ex ",". Or
je
voudrais pouvoir extraire que la première adresse mail. Existe-t-il une
fonction permettant de récupérer tout ce qui est à gauche de la virgule ?

Voilà c'est tout.
Merci pour vos infos.


Thierry (ze Titi)
Le #6307841
Bonjour Gloops

Effectivement, on peut imaginer d'extraire une adresse quelconque.
Dans ce cas, utilisons ce que tu proposes:

Function exrtaireAdresse(chaineAdresses As String, Optional indiceAdresse As Integer =1, Optional separateur As String = ",") As String
Dim listeAdresses() As String
listeAdresses=split(chaineAdresses,separateur)
extraireAdresse=listeAdresses(indiceAdress-1)
End Function

Si on veut connaître le nombre d'adresses présentes dans la chaîne:

Function nombreAdresses(chaineAdresses As String, Optional separateur As String = ",") As Integer
Dim listeAdresses() As String
listeAdresses=split(chaineAdresses,separateur)
nombreAdresses=UBound(listeAdresses)+1
End Function

Thierry (ze Titi) a écrit, le 11/07/2007 15:23 :
Hello Exodus !

taVariable=Left(tonChamps, Instr(tonChamp,",")-1)


Salut,

Effectivement, on peut faire comme ça et c'est le plus simple.

Comme j'ai un esprit un peu compliqué, j'anticipe l'intention de pouvoir
extraire les différentes adresses mail inscrites dans le champ.

Dim ListeAdresses() as String
'très importantes, les parenthèses
'Attention qu'il existe deux syntaxes de Split selon la plateforme
utilisée (si je ne me trompe, DAO ou ADO)


ListeAdresses = Split(tonChamps, ",")

premiereadresse = ListeAdresses(0)

deuxiemeadresse = ListeAdresses(1)

NombreDadresses = UBound(ListeAdresses)

Pour vérifier à quel indice on commence : LBound(ListeAdresses)

Ce qui n'empêche, bien entendu, de considérer que ça serait plus rationnel
d'avoir une adresse par enregistrement, et autant d'enregistrements par
correspondant qu'il propose d'adresses pour le contacter. Mais à ce
moment-là, on n'utilise plus ni Instr, ni Split.


Bien entendu, une fois que la base est faite comme ça ...


--
Cordialement,
Thierry

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


Exodus
Le #6307761
En fait dans ma requête j'ai utilisé cette formule qui permet d'extraire
seulement la 1ère adresse mail et cela fonctionne parfaitement :
Email1: VraiFaux(DansChaîne([Internet Address];",");Gauche([Internet
Address];DansChaîne([Internet Address];",")-1);[Internet Address])

Merci à tous.


Bonjour,

Tu importe ta table dans excel tu fais remplacé ( , *)par rien
et tu teretrouve avec une table sans les caractères se situant à droite de
ta virgule

Bye Christian

"Exodus" news:
Bonjour,

Un petit problème pour lequel je ne trouve pas de solution simple :
Dans une table Access j'ai un champ qui contient des adresses mail avec
comme séparateur une virgule comme par ex ",". Or
je
voudrais pouvoir extraire que la première adresse mail. Existe-t-il une
fonction permettant de récupérer tout ce qui est à gauche de la virgule ?

Voilà c'est tout.
Merci pour vos infos.






Gloops
Le #6307611
ça, au moins, c'est fignolé :)

Pour finir, Exodus a choisi ta première version, mais traduite en
Français. Il faut bien être un peu chauvin, de temps en temps :)

________________________________________________
Thierry (ze Titi) a écrit, le 12/07/2007 12:34 :
Bonjour Gloops

Effectivement, on peut imaginer d'extraire une adresse quelconque.
Dans ce cas, utilisons ce que tu proposes:

Function exrtaireAdresse(chaineAdresses As String, Optional indiceAdres se As Integer =1, Optional separateur As String = ",") As String
Dim listeAdresses() As String
listeAdresses=split(chaineAdresses,separateur)
extraireAdresse=listeAdresses(indiceAdress-1)
End Function

Si on veut connaître le nombre d'adresses présentes dans la chaîn e:

Function nombreAdresses(chaineAdresses As String, Optional separateur A s String = ",") As Integer
Dim listeAdresses() As String
listeAdresses=split(chaineAdresses,separateur)
nombreAdresses=UBound(listeAdresses)+1
End Function


Publicité
Poster une réponse
Anonyme