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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Fri 08 April 2005 18:32

Ludovic LESTRAT
Invité

label avec conditions

Bonjour a tous,

Sous ArcGis, j'essaye d'afficher un label conditionne sur la valeur des
champs.
Je possede une table de sites ponctuels, avec plusieurs annees (1annee =
1 champ, oui je sais c'est pas top...) et une valeur de cote quand elle
existe (sinon 0).

Voici ce que j'essaye :

--
Function FindLabel ( [1836], [1846], [1856])
    If [1836]  0 then
    FindLabel = [1836]
    End if

    If [1846]  0 then
    FindLabel = Findlabel & vbNewLine & [1846]
    End if

    If [1856]  0 then
    FindLabel = Findlabel & vbNewLine & [1856]
    End if

End Function
--

Telle quelle l'expression n'est pas valide, si je remplace dans les
conditions 0 par    la requete est validee mais bien entendu ne donne
pas le resultat espere.

Si qq'un s'est deja battu avec ce type de probleme, toute indication
peut m'aider !

Merci
Cordialement
Ludovic

--
Ludovic LESTRAT

 

#2 Mon 11 April 2005 12:08

Ludovic
Invité

Re: label avec conditions

Merci pour les nombreux retours

Je complete ma demande au niveau du type des champs, il s'agit de
double  (precision 15, scale 2) donc bien numerique.
Du coup, il n'est pas logique de mettre des guillemets
J'ai teste la condition sur un seul champ :
--
Function FindLabel ( [1836])
    If [1836]  0 then
    FindLabel = [1836]
    End if
End Function
--

Dans ce cas, ca fonctionne.
Bon bizarrement, la fonction fonctionne ce matin, ca donne donc ca :

--
Function FindLabel ( [1836], [1846], [1856], [1866], [1910], [1958],
[2001], [2004] )
    If [1836]  0 then
    FindLabel = [1836]
    End if
    If [1846]  0 then
    FindLabel = Findlabel & vbNewLine & [1846]
    End if
    If [1856]  0 then
    FindLabel = Findlabel & vbNewLine & [1856]
    End if
    If [1866]  0 then
    FindLabel = Findlabel & vbNewLine & [1866]
    End if
    If [1910]  0 then
    FindLabel = Findlabel & vbNewLine & [1910]
    End if
    If [1958]  0 then
    FindLabel = Findlabel & vbNewLine & [1958]
    End if
    If [2001]  0 then
    FindLabel = Findlabel & vbNewLine & [2001]
    End if
    If [2004]  0 then
    FindLabel = Findlabel & vbNewLine & [2004]
    End if
End Function
--

Je suis quasiment sur qu'il y a une plus belle facon d'ecrire ca, meme
si ca marche. Si qq'un a une meilleure idee ? smile

Merci encore pour l'aide
Cordialement

--

 

#3 Fri 06 May 2005 11:59

Michel Terrond
Invité

Re: label avec conditions

De: Michel
Salut,
pourquoi n'utilise tu pas la possibilite de faire tes labels selon un  query definition   et de leur affecter unerepresentation variee. Le tout avec l'outil de label evidement.
Cordialemenr

 

Pied de page des forums

Powered by FluxBB