Supprimer un caractere en milieu de chaine

hug0 -  
 Utilisateur anonyme -
Bonjour,

Sous ACCESS je souhaite modifier les mails qui contiennent ".@" par une requête qui remplacerait ".@" par "@".
Le nombre de caractère devant les ".@" étant aléatoire je ne peut pas utiliser left() comme j'ai pu le voir ailleurs.

Merci d'avance pour votre aide
A voir également:

4 réponses

Polux31 Messages postés 7219 Statut Membre 1 204
 
Bonjour,

Dim AdrMail As String

AdrMail = "toto.@server.com"

AdrMail = Replace (AdrMail, ".@", "@")


;o)
1
hug0
 
Merci pour ton aide mais avec ce type de requête il faudrait changer la requête pour chaque email, n'y a t-il pas un moyen d'automatiser cette requête ?
0
Polux31 Messages postés 7219 Statut Membre 1 204
 
Bonjour,

Tu as ici la liste des fonctions dans SQL pour différentes bases de données https://sqlpro.developpez.com/cours/sqlaz/fonctions/
Access est limité en fonctions SQL.

Une solution, assez lourde, consisterait à faire une fonction en VB pour extraire tous les champs des tables contenant une adresse e-mail, de remplacer ".@" par "@" et de faire un update.

Il y a certainement quelqu'un de plus caler que moi sur Access et qui a une solution moins lourde.
0
Utilisateur anonyme
 
tu utilise une variable temporaire :

void methode(char * TonTableau)
{
char temp;
int i, j;
for( i = 0 ; i < strlen(TonTableau) ; i++)
if( TonTableau[i] == '.' && TonTableau[i] == '@' )
for( j = i ; j < strlen( TonTableau)-1 ; j++;
TonTableau[j] = TonTableau[j+1];
TonTableau[j+1] = '\0';
}

ca devrai le faire (je l'ai fait vite fait sans test donc je garantie rien ^^)
0
Utilisateur anonyme
 
tu utilise une variable temporaire :
[code]
void methode(char * TonTableau)
{
char temp;
int i, j;
for( i = 0 ; i < strlen(TonTableau) ; i++)
if( TonTableau[i] == '.' && TonTableau[i] == '@' )
for( j = i ; j < strlen( TonTableau)-1 ; j++;
TonTableau[j] = TonTableau[j+1];
TonTableau[j+1] = '\0';
}

[code/]
ca devrai le faire (je l'ai fait vite fait sans test donc je garantie rien ^^)
0
hug0
 
Merci mais je suis sous ACCESS et je ne crois pas que l'on puisse exécuter du code C dessus
0
Utilisateur anonyme
 
ha, bah faut que tu traduise alors =) après je connais pas acces donc bon ...
0
Polux31 Messages postés 7219 Statut Membre 1 204
 
Il aurait juste fallu lire le message initial ...

^^
0
Utilisateur anonyme
 
j'avous x) ma faute ><

Bon bah de rien pour rien alors =F
0