OVH Cloud OVH Cloud

explication sur la fonction Remplacer

3 réponses
Avatar
patte
qq un peut til m'explique comment marche la fonction :
Remplacer («stringexpr», «find», «replace», «start», «count», «compare»)
j'en ais besoin pour faire une requete maj
qui doit remplacer un caractére dans un champ
merci

3 réponses

Avatar
Gilles
"patte" a écrit:

qq un peut til m'explique comment marche la fonction :
Remplacer («stringexpr», «find», «replace», «start», «count», «compare»)
j'en ais besoin pour faire une requete maj
qui doit remplacer un caractére dans un champ
merci


Bonjour, "patte"

Le premier argument («stringexpr») désigne la chaîne de caractère que tu
veux modifier. Ici, ton champ: [TaTable].[TonChamp]

Le deuxième argument («find») désigne la chaîne que tu veux remplacer. Ex:
si tu veux remplacer toutes les lettres A en majuscule: "A"

Le troisième argument («replace») désigne la chaîne qui va remplacer la
précédente. Ex: pour remplacer par un a en minuscule: "a"

Le quatrième argument («start») désigne la position, dans la chaîne à
modifier, à partir de laquelle tu veux commencer le remplacement. Ex: si les
trois premiers caractères ne doivent pas être modifier, l'argument à saisir
est 4. Par défaut, cet argument est 1 (on commence depuis le début).

Le cinquième argument («count») indique le nombre de remplacement à
effectuer dans chaque chaîne de caractères. Ex: si tu ne veux remplacer que
la première occurence de «find», l'argument à saisir est 1. Par défaut, cet
argument est -1, ce qui signifie que toutes les occurences sont remplacées.

Le dernier argument («compare») indique le type de comparaison: binaire, de
texte ou en utilisant les paramètres de la base de données. Personnellement,
je ne l'ai jamais utilisé et, d'ailleurs, je ne saurai pas très bien
t'expliquer son utilité...

Si je résume, et en reprenant l'exemple développé ici, cela donne:
Remplacer([TaTable].[TonChamp], "A", "a", 4, 1)
Cette instruction va remplacer la première lettre "A" par "a" dans le champ
"TonChamp" de la table "TaTable" située à partir du quatrième caractère.
Concrètement, "AAAAAA" sera transformé en "AAAaAA".

Tu remarqueras que je n'ai pas saisi de valeur pour le dernier argument. En
fait, les trois derniers arguments sont facultatifs. Si tu veux remplacer
tous les "A" par des "a", tu peux écrire simplement:
Remplacer([TaTable].[TonChamp], "A", "a")
Dans ce cas, "AAAAAA" sera transformé en "aaaaaa".

Tu peux aussi utiliser cette instruction pour supprimer un ou plusieurs
caractères. Pour supprimer tous les "A":
Remplacer([TaTable].[TonChamp], "A", "")

Voila, si tu as des problèmes, n'hésite pas à répondre à ce message.

Bonne continuation
Gilles
gm.pas de de pub.framex.fr (enlever "pas de spam." et "pas de
pub.")

Avatar
patte
merci gilles


"patte" a écrit:

qq un peut til m'explique comment marche la fonction :
Remplacer («stringexpr», «find», «replace», «start», «count», «compare»)
j'en ais besoin pour faire une requete maj
qui doit remplacer un caractére dans un champ
merci


Bonjour, "patte"

Le premier argument («stringexpr») désigne la chaîne de caractère que tu
veux modifier. Ici, ton champ: [TaTable].[TonChamp]

Le deuxième argument («find») désigne la chaîne que tu veux remplacer. Ex:
si tu veux remplacer toutes les lettres A en majuscule: "A"

Le troisième argument («replace») désigne la chaîne qui va remplacer la
précédente. Ex: pour remplacer par un a en minuscule: "a"

Le quatrième argument («start») désigne la position, dans la chaîne à
modifier, à partir de laquelle tu veux commencer le remplacement. Ex: si les
trois premiers caractères ne doivent pas être modifier, l'argument à saisir
est 4. Par défaut, cet argument est 1 (on commence depuis le début).

Le cinquième argument («count») indique le nombre de remplacement à
effectuer dans chaque chaîne de caractères. Ex: si tu ne veux remplacer que
la première occurence de «find», l'argument à saisir est 1. Par défaut, cet
argument est -1, ce qui signifie que toutes les occurences sont remplacées.

Le dernier argument («compare») indique le type de comparaison: binaire, de
texte ou en utilisant les paramètres de la base de données. Personnellement,
je ne l'ai jamais utilisé et, d'ailleurs, je ne saurai pas très bien
t'expliquer son utilité...

Si je résume, et en reprenant l'exemple développé ici, cela donne:
Remplacer([TaTable].[TonChamp], "A", "a", 4, 1)
Cette instruction va remplacer la première lettre "A" par "a" dans le champ
"TonChamp" de la table "TaTable" située à partir du quatrième caractère.
Concrètement, "AAAAAA" sera transformé en "AAAaAA".

Tu remarqueras que je n'ai pas saisi de valeur pour le dernier argument. En
fait, les trois derniers arguments sont facultatifs. Si tu veux remplacer
tous les "A" par des "a", tu peux écrire simplement:
Remplacer([TaTable].[TonChamp], "A", "a")
Dans ce cas, "AAAAAA" sera transformé en "aaaaaa".

Tu peux aussi utiliser cette instruction pour supprimer un ou plusieurs
caractères. Pour supprimer tous les "A":
Remplacer([TaTable].[TonChamp], "A", "")

Voila, si tu as des problèmes, n'hésite pas à répondre à ce message.

Bonne continuation
Gilles
gm.pas de de pub.framex.fr (enlever "pas de spam." et "pas de
pub.")




Avatar
bithack
Le vendredi 26 Novembre 2004 à 21:09 par patte :
qq un peut til m'explique comment marche la fonction :
Remplacer («stringexpr», «find», «replace»,
«start», «count», «compare»)
j'en ais besoin pour faire une requete maj
qui doit remplacer un caractére dans un champ
merci


Bonjour je rouvre ce sujet de longue date... je voudrai savoir si il est possible de rajouter une condition permettant de prendre juste quand A est tout seul et pas quand il est dans un mot du style "ATTRAPER" ?

ex : je dois modifier une adresse, les R en Rue
donc j'ai fait Remplacer ([histo st omer identifiés].[Voie adm judiciaire 1];"R";"Rue";1;1)

le Probleme c'est que du coup quand j'ai une adresse du style : R des PATRIOTES
le résultat est le suivant : Rue des PATRUEIOTES.
Merci de votre aide.
cdlt