#1 Wed 10 June 2009 10:09
calcul dans access
Bonjour
j'ai toujours du mal à faire ces calculs dans access, c'est pour moi plus facile dans arcview mais là j'ai pas le choix
alors si quelqu'un peut m'aider je cherche à rajouter un zero en début d'identifiant parcellaire quand le code section est à une seule lettre plutôt qu'à deux
pour créer un champ calculé
je pensais faire : si le nombre de caractère est inférieur à 6, rajouter à droite un zero
si quelqu'un connait l'access couramment peut-il m'aider ?
merci d'avance
Dernière modification par AlineC (Mon 27 November 2017 15:21)
Hors ligne
#2 Wed 10 June 2009 11:10
- Damien BEAUSEIGNEUR
- Participant assidu
- Lieu: meyzieu
- Date d'inscription: 5 Sep 2005
- Messages: 425
Re: calcul dans access
Bonjour,
La question est de savoir comment écrire le champ.
Mais à vu de nez le zéro je le mettrait à gauche.
Et à moins d'utiliser une vieille version d'arcview, l'écriture devrait être similaire. (vu qu'il travaille tout les 2 avec du vba)
cordialement
Hors ligne
#3 Wed 10 June 2009 11:30
- Séraphin
- Participant occasionnel
- Date d'inscription: 17 Apr 2008
- Messages: 19
Re: calcul dans access
Une des méthode que l'on utilise la où je bosse et queje trouve pas trop mal penser,
C'est de rajouter un nombre de zéro correspondant à la largeur max que peut avoir un numéro de parcelle et de faire un right(numéro,nb_max)
Ca évite de passer par un nombre inimaginable de test.
Hors ligne
#4 Wed 10 June 2009 11:46
Re: calcul dans access
Avec Access, il y a des masques pour ce genre de choses (champ type numéro de téléphone par exemple), ou j'utilise une version récente et c'est le genre d'option qui a été ajouté récemment ?
Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !
Hors ligne
#5 Wed 10 June 2009 18:39
- ChristopheV
- Membre
- Lieu: Ajaccio
- Date d'inscription: 7 Sep 2005
- Messages: 3199
- Site web
Re: calcul dans access
Bonjour,
zero en début d'identifiant parcellaire quand le code section est à une seule lettre
Bonjour, en premier lieu il est préférable de traiter un identifiant parcellaire selon plusieurs champs, et même plusieurs tables.
Un identifiant parcellaire c'est 4 tables.
Code commune + Code commune absorbée + Section + Numéro parcelle. (je vous conseil de faire une recherche "données Majic2", et je vous fait grâce du code direction)
Ensuite avec cette configuration et compte tenu du fait que la longueur de section est deux caractères, donc en source extrait majic2 c'est " A" et pas "0A" comme il convient de le coder si l'on veut respecter les standards DGFiP (nom fichier plan cadastraux et MetaDATA pour les objets Parcelle) .
Pour les fonctions VB ou Access avec un champ "section" de longueur 2 caractères:
Code:
SELECT Table1.idtable, Table1.section, IIf(Len([section])=1,"0" & [section],[section]) AS Sectionmodif FROM Table1;
Donne un champ calculé "Sectionmodif", qui ajoute le caractère "0" à chaque fois que la longueur du texte du champ vaut 1.
Vous pouvez aussi utiliser le générateur d'expressions avec la fonction intégrée vraifaux ()
Pour traiter un champs "collé" comprenant Section et Numplan et dégrouper en ajoutant un zéro si simple lettre:
Longueur du champs 5 ou 6:
Code:
SELECT Table1.idtable, Table1.sectionnumplan, IIf(Len([sectionnumplan])=5,"0" & Mid$([sectionnumplan],1,1),Mid$([sectionnumplan],1,2)) AS Section, IIf(Len([sectionnumplan])=5,Mid$([sectionnumplan],2,4),Mid$([sectionnumplan],3,4)) AS Numplan FROM Table1;
Un champ calculé "section" avec deux caractères toujours remplis
Un champ calculé "numplan".
A+
Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close
Hors ligne
#7 Mon 15 June 2009 15:47
Re: calcul dans access
Ensuite avec cette configuration et compte tenu du fait que la longueur de section est deux caractères, donc en source extrait majic2 c'est " A" et pas "0A" comme il convient de le coder si l'on veut respecter les standards DGFiP (nom fichier plan cadastraux et MetaDATA pour les objets Parcelle) .
A noter au passage que les standards des impôts et ceux de l'IGN (BD Parcellaire) ne sont pas les mêmes !
Hors ligne
#8 Mon 15 June 2009 18:11
- ChristopheV
- Membre
- Lieu: Ajaccio
- Date d'inscription: 7 Sep 2005
- Messages: 3199
- Site web
Re: calcul dans access
Bonjour,
@Fauvegui : Remarque tout à fait pertinente, quand on jongle entre les BDIGN et les données DGFiP c'est une problématique récurrente.
@ Toñito : Le code que vous proposez est nettement plus compact que le mien ! Les mauvais réflexes des fonctions intégrées dans les assistants! Ceci dit ma méthode a l'avantage de créer un nouveau champs en préservant la valeur des autres le composant, en cas d'erreur de formule un UPDATE est plus "tranchant".
A+
Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close
Hors ligne