12.07.2015 Views

Proposition de nouvelle organisation des données SIG et création d ...

Proposition de nouvelle organisation des données SIG et création d ...

Proposition de nouvelle organisation des données SIG et création d ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Proposition</strong> <strong>de</strong> <strong>nouvelle</strong> <strong>organisation</strong> <strong>de</strong>s données <strong>SIG</strong> <strong>et</strong> création d’un outil <strong>de</strong> catalogage <strong>et</strong> <strong>de</strong> consultation<strong>de</strong>s métadonnées <strong>SIG</strong> pour le Parc Naturel régional Scarpe Escaut- l’exécution <strong>de</strong> requêtes- la création d’Etat…En réalité les macros perm<strong>et</strong>tent d’exécuter <strong>de</strong>s procédures événementielles « toutes faites »comme il est possible <strong>de</strong> le faire dans un langage <strong>de</strong> Programmation Orienté Obj<strong>et</strong> (POO). Ence sens utiliser le langage Visual Basic For Applications (VBA) peut être très complémentaire<strong>de</strong> l’utilisation <strong>de</strong> macros.La POO a beaucoup contribué au développement <strong>de</strong> logiciel car elle perm<strong>et</strong> <strong>de</strong> développer <strong>de</strong>sapplications en travaillant avec <strong>de</strong>s obj<strong>et</strong>s. Il est ainsi possible <strong>de</strong> personnaliser lescomportements <strong>de</strong>s obj<strong>et</strong>s notamment dans le cadre d’événements.Si les macros nous apportaient <strong>de</strong>s réponses pour un certains nombre d’événements, il a quandmême été nécessaire <strong>de</strong> créer nous même <strong>de</strong>s lignes <strong>de</strong> co<strong>de</strong> pour coller le plus possible à nosbesoins.a-Une utilisation simple <strong>de</strong>s propriétés <strong>de</strong>s contrôles basée sur la programmationévénementielleVBA perm<strong>et</strong> <strong>de</strong> créer <strong>de</strong>ux types <strong>de</strong> procédures : Function <strong>et</strong> Sub. Elles perm<strong>et</strong>tent toutes les<strong>de</strong>ux <strong>de</strong> créer <strong>de</strong>s instructions qui accomplissent <strong>de</strong>s tâches.La différence entre les <strong>de</strong>ux est que Function renvoie une valeur tandis que Sub peut agir surles propriétés <strong>de</strong>s obj<strong>et</strong>s en modifiant leur comportement.Dans notre cas, nous avons utilisé en gran<strong>de</strong> majorité les procédures Sub pour interagir entreles contrôles <strong>de</strong>s formulaires.Voici quelques exemples d’utilisation du co<strong>de</strong> VBA dans le cadre <strong>de</strong> notre outil.► L'action « Requery »L'action Requery perm<strong>et</strong> <strong>de</strong> m<strong>et</strong>tre à jour les données d'un contrôle spécifié dans l’obj<strong>et</strong> enactualisant la source du contrôle.Elle est très utile pour actualiser <strong>de</strong>s listes déroulantes basées sur <strong>de</strong>s tables <strong>de</strong> co<strong>de</strong>.Dans la partie <strong>de</strong>scriptive <strong>de</strong> gestion <strong>de</strong> l’outil, nous avions parlé <strong>de</strong> formulaires perm<strong>et</strong>tant <strong>de</strong>paramétrer <strong>de</strong>s listes <strong>de</strong> choix (dans notre cas la liste <strong>de</strong>s communes).Dans ce formulaire il était possible <strong>de</strong> saisir un nom <strong>de</strong> commune, ainsi que son co<strong>de</strong>, ce quirevenait à remplir la table <strong>de</strong> la BD qui contient tous ces co<strong>de</strong>s (« co<strong>de</strong>s_communes »).Dans le formulaire <strong>de</strong> saisie <strong>de</strong>s métadonnées, le contrôle affichant toutes les communessélectionnables est basé sur la table « co<strong>de</strong>s_communes ». Nous avons donc utilisé l’actionRequery pour actualiser ce contrôle au moment <strong>de</strong> la ferm<strong>et</strong>ure du formulaire <strong>de</strong> paramétrage<strong>de</strong>s communes. La <strong>nouvelle</strong> commune est donc insérée dans la liste déroulante <strong>et</strong> peut doncdirectement être sélectionnée pour poursuivre la saisie <strong>de</strong> la fiche métadonnée.C<strong>et</strong>te action a également été très utilisée dans le cadre du formulaire <strong>de</strong> gestion <strong>de</strong>s lots <strong>de</strong>données.► les propriétés <strong>de</strong>s contrôlesPlusieurs types <strong>de</strong> propriétés <strong>de</strong> contrôle ont été utilisées pour agir sur le comportement <strong>de</strong>contrôle <strong>de</strong> façon interactive.L’exemple suivant est assez représentatif <strong>de</strong> c<strong>et</strong>te utilisation pour automatiser <strong>de</strong>scomportements <strong>de</strong> formulaire.Dans l’ongl<strong>et</strong> Contenu <strong>et</strong> référence spatiale <strong>de</strong> la fiche métadonnée (figure 32), il faut définirsi la donnée est <strong>de</strong> type vecteur, alphanumérique <strong>et</strong> raster puis <strong>de</strong> préciser d’autresinformations suivant le type <strong>de</strong> format choisi.JB Mignien – Septembre 2004 106

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!