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é ?

#1 Tue 18 December 2012 11:26

Le Grizzly
Participant occasionnel
Lieu: La Hague
Date d'inscription: 3 Jun 2011
Messages: 15
Site web

Etiquette conditionnelle dans ArcMap

Bonjour

Je ne suis pas trop au fait du VBScript et je n'arrive pas à faire ce que je veux.
Voici mon code qui ne fonctionne pas :

Code:

Function FindLabel ( [Site.nom], [Site.nom_autre], [Site.id_confirmation] )
  If ( [Site.id_confirmation]  = "1") then
    FindLabel = [Site.nom]
  Elsif ( [Site.nom]  <> " ") then
    FindLabel = [Site.nom] & " ?"
  Elsif
    FindLabel = [Site.nom_autre]  
  end if
end Function

Le but est qu'il y est un double test sur les champs :
Si [Site.nom] n'est pas vide et que [Site.id_confirmation] est égale à 1, alors l'étiquette est [Site.nom]
Si [Site.nom] n'est pas vide et que [Site.id_confirmation] est égale à 0, alors l'étiquette est [Site.nom] & " ?"
Si [Site.nom] est vide, alors l'étiquette est [Site.nom_autre]

Quelqu'un a une idée ?

Hors ligne

 

#2 Tue 18 December 2012 14:11

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

Re: Etiquette conditionnelle dans ArcMap

Quel est le type de id_confirmation ? Si c'est entier, déjà, il faudra indiquer : [Site.id_confirmation]  = 1

Sinon, pour te simplifier la vie, tu peux aussi faire des requêtes SQL dans les classes d'étiquettes, c'est peut être plus simple ?

Hors ligne

 

#3 Thu 20 December 2012 15:18

Le Grizzly
Participant occasionnel
Lieu: La Hague
Date d'inscription: 3 Jun 2011
Messages: 15
Site web

Re: Etiquette conditionnelle dans ArcMap

Robin a écrit:

Quel est le type de id_confirmation ? Si c'est entier, déjà, il faudra indiquer : [Site.id_confirmation]  = 1

Sinon, pour te simplifier la vie, tu peux aussi faire des requêtes SQL dans les classes d'étiquettes, c'est peut être plus simple ?


Bonjour Robin

Merci pour ta réponse, mais je voulais garder les classes d'étiquettes pour autre chose.
Mais j'ai enfin trouver mon erreur.
J'avais mis Elsif et non ElseIf.

Si cela peu aider, voici le code

Code:

Function FindLabel ( [Site.nom], [Site.nom_autre], [Site.id_confirmation] )
  If ( [Site.nom]  = "" ) then
    FindLabel = [Site.nom_autre]  
  ElseIf ( [Site.id_confirmation]  = 1 ) then
    FindLabel = [Site.nom] 
  ElseIf (  [Site.id_confirmation]  = 0 and [Site.nom]  <> "") then
    FindLabel = [Site.nom]  & " ?"
  end if
end Function

Hors ligne

 

Pied de page des forums

Powered by FluxBB