banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Wed 25 July 2012 15:11

camboni
Juste Inscrit !
Date d'inscription: 30 Oct 2011
Messages: 1

MapBasic, création d'un mbx permettant le croisement de deux tables

Bonjour,

Je travail actuellement sur Mapinfo V11, je possède Mapbasic et je dois avouer que mes compétences sont assez limitées dans le domaine du Mapbasic.

J'aurais besoin de créer une manipulation mapbasic afin de pouvoir comparer deux ou plusieurs tables, et ce, pour répéter cette opération chaque années, ces données (attributaires et graphiques) correspondent à des zones d'activités.

J'aurais voulu savoir si quelqu'un aurait une base de script (ou quelque  chose qui y ressemble) qui puisse m'aiguiller dans cette tâche.
Je sais qu'il me faudra exécuter une boucle pour chaque tables et ainsi comparer deux champs (dénomination ZA et n° ZA)  mais aussi les surfaciques correspondant à chaques enregistrements et donc y mettre des conditions, le but de l'opération étant a peu près ça :

                                     -Permettre l'ouverture des tables (quelconques) (sub ouvrir_table
                                                                                                              dim mon_fichier as string
                                                                                                                 mon_fichier = fileopendlg("","","tab","ouvrir une table quelconque"
                                                                                                              if mon_fichier <> "" then
                                                                                                      open table mon_fichier
                                                                                                              end if
                                                                                                            end sub) ==> Ceci marche... mais pas la suite

Mon premier souci est qu'une fois ouverte avec ce code, je ne peux visualiser les données attributaires ainsi que graphiques qu'en ouvrant, manuellement sous mapinfo, une fenêtre carte et la fenêtre des données (le problème étant la dénomination "MON_FICHIER" qui n'est pas reconnu par mapinfo étant donné qu'aucune de mes tables ne se nomment mon_fichier).

Je sais que je pourrais me passer de cette étape (ouverture tables quelconques, apperçut graphique et attributaire) mais je me dis que si je n'arrive pas à faire ça, le reste pourrait être encore bien plus complexe.

J'ai joins mon script en l'état, c'est-à-dire très peu avancé.


Second questionnement:
                                     -création d'une boucle pour tab.1 et une autre pour tab.2 et y mettre les conditions suivantes:
                                                         Si n° ZA.tab1 = n° ZA.tab2 et
                                                         dénomination ZA.tab1 = dénomination ZA.tab2 et
                                                         surfacique.tab1 = surfacique.tab2 alors on conserve cette donnée
   Sinon ( dans le cas ou l'une des trois conditions n'est pas respecté ) , zoom sur chaques enregistrements graphiques et attributaires et on choisit de conserver l'enregistrement que l'on souhaite.

En ce qui concerne les boucles et conditions je travail la question en ce moment même, mais je serais très intéressé par une éventuelle base...


J'espère avoir été assez clair... Dans l'espoir d'un petit coup de pouce!!!


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

Pied de page des forums

Powered by FluxBB