#1 Tue 10 February 2009 19:26
- laurent nappez
- Participant occasionnel
- Date d'inscription: 15 Jun 2008
- Messages: 34
ArcGIS92 - calculer champ en VBA (conditionnel)
Bonjour à tous,
je souhaite calculer un champ à l'aide des valeurs de deux autres champs de la même table.
Voici l’expression utilisée :
If [Cr1] > [Se1] Then [score1] = 1
Else = 0
End if
J’obtiens toujours un message d’erreur de script. Quelqu’un a-t-il une idée ?
Merci d’avance de vos suggestions.
laurent
Hors ligne
#3 Tue 10 February 2009 20:04
- Daniel
- Membre
- Lieu: Victoriaville, Québec
- Date d'inscription: 6 Sep 2005
- Messages: 2028
Re: ArcGIS92 - calculer champ en VBA (conditionnel)
[non ?
Bonjour
Superbe réponse Jérôme
Daniel
De retour à la géomatique
Hors ligne
#4 Tue 10 February 2009 21:12
Re: ArcGIS92 - calculer champ en VBA (conditionnel)
Finalement, j'avais tord, il y avait encore un petit truc,
spacejo l'explique bien à côté : http://www.forumsig.org/showthread.php?t=21673
Remplacer [score1] par une variable, puis mettre cette variable dans le champ de saisie juste en dessous.
Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !
Hors ligne
#5 Wed 11 February 2009 13:55
- laurent nappez
- Participant occasionnel
- Date d'inscription: 15 Jun 2008
- Messages: 34
Re: ArcGIS92 - calculer champ en VBA (conditionnel)
oui effectivement, remplacer [score1] par C par exemple. Mais après, avoir défini le champ de la sorte: 'Dim C as long', il faut encore dire C=[score1], non ? c'est ce que tu signifies par "mettre cette variable dans le champ de saisie juste en dessous" ?
merci de votre aide à tous
laurent
Hors ligne
#6 Wed 11 February 2009 20:42
Re: ArcGIS92 - calculer champ en VBA (conditionnel)
Coche bien la case "Avancé" pour faire des calculs en VBA. Tu verras les deux champs !
Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !
Hors ligne
#8 Thu 12 February 2009 13:32
- laurent nappez
- Participant occasionnel
- Date d'inscription: 15 Jun 2008
- Messages: 34
Re: ArcGIS92 - calculer champ en VBA (conditionnel)
J'ai coché la case "Advanced" et mon expression apparaît bien dans le "Pre-logic VBA Script Code" comme en bas, où il est écrit "[score1]=".
Avec la fonction Case, cela donnerait-il par exemple ?
Select Case "A"
A=[Cr2]
Hors ligne
#9 Thu 12 February 2009 14:06
Re: ArcGIS92 - calculer champ en VBA (conditionnel)
Pas vraiment, en fait.
Ca donnerait plutôt ce qui suit :
Code:
Dim Mavariable as integer Select Case True Case [Cr1] > [Se1] MaVariable = 0 Case [Cr1] <= [Se1] MaVariable = 1 End select
Voilà un exemple d'utilisation de l'instruction Case pour que ça soit plus clair pour classer un champ selon ses valeurs :
Dans la boîte du haut :
Code:
Dim Mavariable as integer Select Case True Case [Pente] < 0.06 Mavariable = 0 Case [Pente] >= 0.06 AND [Pente] <= 0.1 Mavariable = 1 Case [Pente] > 0.1 Mavariable = 2 End select
Dans la boîte du bas :
Code:
Mavariable
Dernière modification par Robin (Thu 12 February 2009 14:07)
Hors ligne