#1 Wed 04 July 2007 13:16
- mat
- Participant occasionnel
- Date d'inscription: 18 Oct 2005
- Messages: 15
mise à jour automatique
bonjour,
je travaille dans le domaine de la gstion forestière.
pour assurer le suivi de mes parcelles, j'ai les champs suivants propriétaire, commune, section, lieu-dit, surface, année de création, age, classe d'âge.
je voudrais savoir s'il existe un petit utilitaire ou programme pour paramétrer mes ages en fonction de l'année courante (que ce soit dynamique en fait) et
en fonction de l'âge, que mes classes d'âge se recalent:
0-4 ans
5-9 ans
10-14 ans
15-19 ans
et ainsi de suite
si l'âge de ma parcelle est de 4 ans en 2007, qu'elle soit en classe d'âge 0-4 ans
et que celle-ci passe en classe d'âge 5-9 ans quand elle aura 5 ans en 2008
je ne sais pas si j'ai été assez clair, je vous donnerai des explications plus précises si c'est un peu ou trop confus
je vous remercie
Hors ligne
#2 Wed 04 July 2007 13:57
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: mise à jour automatique
Bonjour,
Rien de bien sorcier de programmer un petit bouton (sur lequel il faudra appuyer, désolé...) qui mette à jour ces champs
Possible aussi de concevoir un *.wor qui fasse ce job de mise à jour à chaque ouverture (mais il faudra l'ouvrir, désolé...)
Mais pas possible que ce soit complètement automatique et qu'on puisse observer cette mise à jour pendant le réveillon
Hors ligne
#3 Wed 04 July 2007 15:26
- Gérard parcoli
- Participant actif
- Date d'inscription: 9 Jan 2007
- Messages: 95
Re: mise à jour automatique
Bonjour,
Quels vont être les utilisations des classes d'ages par la suite ?
- si c'est uniquement pour des analyses thématiques (par classes), il suffirait de définir comme variable à utiliser une expression du type : YEAR(CURDATE())-'Année de création'), puis de définir les classes de 4 en 4 ans.
- si la classification doit apparaître clairement dans la base et / ou sur la carte (thématique par valeurs individuelle), une voie possible serait d'utiliser une expression du type : INT((YEAR(CURDATE())-'Année de création')/4). Cette expression retournera un code pour chaque tranche (0 correspondrait à 0 à 4 ans, 1 de 5 à 9 ans... penser à personnaliser la légende...).
Et donc pour récupérer cette information dans la base de données, et que ça reste dynamique, une solution serait d'utiliser la fenêtre Mapbasic (menu Options > Afficher Mapbasic) avec une commande comme suit :
Add Column "mes_parcelles" (CLASSE integer)From mes_parcelles Set To (YEAR(CURDATE())-'Année de creation')/4 Where COL1 = COL1 Dynamic
Cette commande va ajouter une colonne dynamique nommée CLASSE (il ne faut pas que cette colonne existe deja pour cette table) à la table des parcelles, contenant la classe d’age de la parcelle.
Dans ces deux cas le calcul sera rattaché au document MI (WOR) et non à la table, mais ce calcul sera dynamique et s'opèrera pour les ajouts, modification, et pour le 1 janvier (je vous laisse tester) !
Hors ligne