#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
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
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