OVH Cloud OVH Cloud

extration de chaine de caractère séparé par des /

2 réponses
Avatar
Arpat
Bonjour,

dans une table d'une base Access2000, j'ai un champ texte qui contient 3
valeurs comprises entre 0 et 999 séparé par des /
ex 15/200/1 ou 600/1/152

dans une requete, il faut que j'extraie la premiere valeur, puis la
deuxième, et enfin la troisieme afin de pouvoir faire des calculs

mais comment ???

Merci

2 réponses

Avatar
Haikel3000
Salut,

En théorie il y a une utilisation des fonctions Instr() et InstrReverse()
documente toi....

En pratique, dans une query, en mode sql tu copies ça en remplacant Matable
par le nom de ta table et MyText par le nom de ton champ et tu fais tourner
ton query...

A plus,

Haikel3000 <-L'union fais le Code->










SELECT Matable.Mytext, 1 AS StartLen, InStr(1,[Mytext],"/",1) AS str1,
InStr(([str1]+1),[Mytext],"/",1) AS str2,
InStr(1,(StrReverse([Mytext])),"/",1) AS str3, ([Str1]+[str2])-2 AS TotLen,
Mid([Mytext],[startlen],([str1]-1)) AS Wrd1,
Mid([Mytext],([str1]+1),([str2]-[str1]-1)) AS Wrd2,
Mid([Mytext],[Str2]+1,([str3])) AS Wrd3
FROM Matable;




"Arpat" wrote:

Bonjour,

dans une table d'une base Access2000, j'ai un champ texte qui contient 3
valeurs comprises entre 0 et 999 séparé par des /
ex 15/200/1 ou 600/1/152

dans une requete, il faut que j'extraie la premiere valeur, puis la
deuxième, et enfin la troisieme afin de pouvoir faire des calculs

mais comment ???

Merci





Avatar
Codial
Bonsoir,

à mon avis il faut passer par une fonction qui teste les "/" et prendre
avant, entre et après!

Cordialement

Codial

"Arpat" <patrick.aranda(supp)@wanadoo.fr> a écrit dans le message de news:
421f0424$0$13195$
Bonjour,

dans une table d'une base Access2000, j'ai un champ texte qui contient 3
valeurs comprises entre 0 et 999 séparé par des /
ex 15/200/1 ou 600/1/152

dans une requete, il faut que j'extraie la premiere valeur, puis la
deuxième, et enfin la troisieme afin de pouvoir faire des calculs

mais comment ???

Merci