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 Tue 25 February 2003 10:53

Rachel Dussoutras
Invité

poser une condition dans l'expression

bonjour,

afin de creer un champ a partir d'un autre, je cherche a poser une
condition dans l'expression (equivalent a si dans les formules d'excel
par exemple). Quelle est la fonction ou l'operateur adequat?

merci

 

#2 Tue 25 February 2003 13:24

Pascal Geraut
Invité

Re: poser une condition dans l'expression

Bonjour
Il n'y a pas de fonctions conditionnelles dans MApInfo comme on en trouve
sous Excel, mais en revanche il y a des astuces permettant de contourner
cette lacune dans certains cas avec les booleens.
L'exemple suivant illustre le principe :

Left(NOM_COM, Int(POPU>20000)*254)

J'ai une table avec les colonnes NOM_COM, POPU et NOUVEAU : je veux mettre
dans NOUVEAU le contenu de NOM_COM si POPU est > 20000 : la formule
ci-dessus collee dans l'expression de mise a jour de colonne va fonctionner.

Si popu > 20000 est vrai , la fonction est executee et renvoie la valeur de
POPU
left(nom_com,xx) colle dans la colonne destination le contenu de la colonne
d'origine seulement si la fonction popu>20000 est vraie (* 254 permet
d'avoir une chaine maximale pour cet exemple)

L'ensemble des fonctions disponible permet ainsi de varier les possibilites
a loisir :smile

Cordialement

Pascal GERAUT
DIOG - ITS
CETE de l'Ouest

 

#3 Tue 25 February 2003 13:24

Geo Maumet
Invité

Re: poser une condition dans l'expression

Bonjour,
Ne confondez pas MapInfo avec un tableur. MapInfo est un SGBD, utilisez les
fonctions de ce type d'outil. Pour remplir une colonne avec une condition, il
faut :
Faire une selection (SQL)
Et ensuite mettre a jour la selection (Update)
comme dans tout SGBD

Laurent

 

#4 Wed 26 February 2003 12:38

Rachel Dussoutras
Invité

Re: poser une condition dans l'expression

Suite a vos remarques, j'ai teste differentes expressions, mais je reste
devant un probleme:
comment supprimer 0 (zero) place devant une chaine de caractere? (je
ne souhaite pas forcement supprimer le premier caractere de la chaine
mais le zero quand il y en a un)

 

#5 Wed 26 February 2003 17:25

Rachel Dussoutras
Invité

Re: poser une condition dans l'expression

M. NADAL ayant trouver la solution a mon probleme, je vous en fait part:

Le probleme etait:
> comment supprimer 0 (zero) place devant une chaine de caractere? (je
> ne souhaite pas forcement supprimer le premier caractere de la chaine
> mais le zero quand il y en a un)

CAS A:
la table a mettre a jour contient les codes des departements (01,02..,2A,...,34):
Left(Left(CODE_DEPART, Val(Left(CODE_DEPART,1))*2)+Right(CODE_DEPART,1),2)

CAS B:
la table a mettre a jour est celle des sections cadastrales (0A, 0B, AB,AC...)
Left(CODE_SECTION,Instr(1,CODE_SECTION, 0 )1)+Right(CODE_SECTION,1)

Heureusement qu'il y en a des plus doues que moi pour les formules!
merci encore

 

Pied de page des forums

Powered by FluxBB