Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

GEODATA DAYS 2024

#1 Thu 01 March 2007 15:01

barbs2676
Participant occasionnel
Lieu: saint martin d'hères
Date d'inscription: 24 Feb 2007
Messages: 19

supprimer qq caractères dans un champ

Bonjour,

J'ai vu qu'il y avait pas mal de chose sur le forum pour supprimer des caractères d'un champ
(ex : %%C250 pour donner 250) mais j'ai un petit soucis.smile

J'a mapinfo 8.0 et pas mapbasic
Il se passe que j'ai récupéré les diamètres d'un réseau sur mapinfo par la formule objectinfo(obj,3) ce qui me donne donc en caratère %%C250 par ex.
Seulement j'ai un ptit problème pour extraire juste le chiffre car j'ai aussi des diamètres Ø1000 et d'autre de Ø60.

Vu que j'etais parti sur la formule Right$("%%C" + str$(table qui conttient le diamètre en caractère), 3(ou4 c'est pareil) j'ai un resultat qui prend soi just les diamètres avec 3 chiffre (ex :250) soi 2 chiffres (ex :60) et le reste devient 0.

Il y a t'il une formule qui me prendrai en compte ces trois diamètres (à 2,3 et 4 chiffres)?

Grand merci à celui qui me sauve

Hors ligne

 

#2 Thu 01 March 2007 17:59

jakesp
Membre
Lieu: Montreal, QC
Date d'inscription: 28 Sep 2005
Messages: 126
Site web

Re: supprimer qq caractères dans un champ

Je fais l'hypothèse que le premier caractère du "diamètre' n'est pas zéro. On répète la boucle principale jusqu'à ce qu'il n'y ait plus d'objets dans la sélection

boucle:

select * from your_table where val(left$(1,colonne_diam))=0 into sele

update sele set colonne_diam=right$(colonne_diam, len (colonne_diam)-1)

Vous faites une copie de votre table avant pour plus de sécurité. Vous écrivez ces 2 commandes dans la fenêtre MapBasic et vous n'avez qu'à les exécuter jusqu'à la fin des transformations.

Hors ligne

 

#3 Thu 01 March 2007 18:10

barbs2676
Participant occasionnel
Lieu: saint martin d'hères
Date d'inscription: 24 Feb 2007
Messages: 19

Re: supprimer qq caractères dans un champ

Merci jakesp,

je vais essayer ça tout de suite.
Par contre quand vous parler de la fenêtre mapbasic vous parler simplement de la fenêtre expression qui s'ouvre lorsqu'on fait une mise a jour de colonne ou c'est une application à part (excusez moi d'etre aussi peu renseigner mais je débute dans mapinfo...)

Merci

Hors ligne

 

#4 Thu 01 March 2007 18:40

barbs2676
Participant occasionnel
Lieu: saint martin d'hères
Date d'inscription: 24 Feb 2007
Messages: 19

Re: supprimer qq caractères dans un champ

voici la formule que j'ai mis dans la fenêtre de la table plaq (j'ai changé de table mais c'est la même manip à faire pour extraire toujours ce texte) :

val(left$(1,fildo_txt))=0 str$(fildo_txt=right$(fildo_txt, len (fildo_txt)-1))

Je sais que j'ai enlevé des termes par rapport a votre formule que vous m'avait envoyé mais en recopiant la votre et changeant uniquement le nom du champ par la "colonne_diam" ça marche pas et dans cette nouvelle formule ça marche pas mieux sauf si je mets "and" entre
val(left$(1,fildo_txt))=0 "et" str$(fildo_txt=right$(fildo_txt, len (fildo_txt)-1)) mais il me remet les même caractères (FE:52.35)

Hors ligne

 

#5 Thu 01 March 2007 21:40

jakesp
Membre
Lieu: Montreal, QC
Date d'inscription: 28 Sep 2005
Messages: 126
Site web

Re: supprimer qq caractères dans un champ

La fenêtre MapBasic est celle que l'on ouvre par le bouton outil-Clé_plate

On y écrit des commandes en Mapbasic en particulier pour les opérations répétitives. Essayez voir avec les deux commandes proposées, en changeant seulement le nom de la table et celui de la colonne et en respectant la syntaxe que j'ai utilisée

Hors ligne

 

#6 Thu 01 March 2007 21:42

barbs2676
Participant occasionnel
Lieu: saint martin d'hères
Date d'inscription: 24 Feb 2007
Messages: 19

Re: supprimer qq caractères dans un champ

Merci de vos conseil, je fais ça de suite.smile

Hors ligne

 

#7 Thu 01 March 2007 22:34

barbs2676
Participant occasionnel
Lieu: saint martin d'hères
Date d'inscription: 24 Feb 2007
Messages: 19

Re: supprimer qq caractères dans un champ

Merci mille fois jakesp,
j'ai eu du mal à comprendre le système car il manquait juste quelques lettres sur la formule et parce que j'avais jamais utilisé ce système mais vous m'avait fait gagné énormément de temps sur mon travail.
Excellente continuation

Hors ligne

 

Pied de page des forums

Powered by FluxBB