#1 Tue 25 October 2005 09:45
- loloi
- Participant actif
- Lieu: rennes
- Date d'inscription: 5 Sep 2005
- Messages: 67
ARCGIS 8.3 - champ largeur définie
Bonjour,
J'ai un problème avec la création automatique d'un champ à partir d'un autre champ.
J'ai un champ qui contient soit un chiffre soit un nombre (codé jusqu'à 99). Je dois créer au résultat un champ obligatoirement de 5 caractères de type 00004, 00005 ou 00099. Je dois donc ajouter soit 4 "0" soit 3 "0" à mes valeurs.
Comment faire pour automatiser cette procèdure ?
J'ai essayé d'utiliser la commande Lpad en VBA mais cela ne semble pas fonctionner.
Merci par avance
Florent DUCHESNAY Conseil général du Doubs
Adresse électronique : florent.duchesnay@ doubs.fr
Le Conseil général du Doubs sur Internet : www.doubs.fr
Hors ligne
#2 Tue 25 October 2005 11:37
- pffred
- Juste Inscrit !
- Date d'inscription: 5 Sep 2005
- Messages: 2
Re: ARCGIS 8.3 - champ largeur définie
Bonjour Florent,
Tu peux peut-être utilisé la fonction Select case dans la calculatrice en mode avancé.
Je m'explique :
Si tu as tes 2 champs avec les valeurs :
<MonID> <MonRes>
1
2
3
4
.
.
.
99
Dans ta calculatrice en mode avancé, colle le texte suivant dans la zone "PreLogic VBA script code" :
Code:
Dim MonRes as string select Case [MonID] Case <10 MonRes = "0000" & [MonID] Case 10 to 99 MonRes = "000" & [MonID] End Select
Et dans la petite fenêtre du dessous:
Code:
MonRes
Tu obtiens ainsi :
<MonID> <MonRes>
1 00001
2 00002
3 00003
4 00004
.
.
.
99 00099
En espérant que cela puisse t'aider
Dernière modification par pffred (Tue 25 October 2005 12:05)
Hors ligne
#3 Thu 17 November 2005 14:33
- DrassCentreSSE
- Participant occasionnel
- Date d'inscription: 17 Nov 2005
- Messages: 13
Re: ARCGIS 8.3 - champ largeur définie
en essayant avec la calculette la formule suivante (sur un champ de type texte d'au moins 7 caractères) :
right ("00000" & Str([Champ]),5)
- Str([Champ]) convertit le nombre (entier) en texte auquel on ajoute 5 zéros (puisque vous souhaitez 5 caractères)
- La fonction right(expression, 5) prend les 5 caractères à partir de la droite.
pour 99, cela donne 0000099 dont on prend les 5 derniers caractères : 00099
pour 2, cela donne 000002 dont on prend les 5 derniers caractères : 00002
et vous n'êtes pas limité à 99. Vous pouvez aller jusqu'à 99999...
Hors ligne