Pages: 1
- Sujet précédent - [MapBasic 9.0] Afficher des données extraites d'une table - Sujet suivant
#1 Mon 15 September 2008 11:15
- chiche31
- Participant actif
- Date d'inscription: 20 Aug 2008
- Messages: 64
[MapBasic 9.0] Afficher des données extraites d'une table
Bonjour,
J'aimerais pouvoir afficher des données sur la couche nommée "ma_couche", mais j'ai quelques problèmes. J'utilise le code suivant :
Code:
Sub afficher Dim cmd as String Set Map Layer ListeAOG Editable On Cmd = "Set Map Layer ListeAOG" + " Label "' Font ("Arial",257,9,0,16777215) + " With toto Auto Off Overlap On Offset 20" Run Command Cmd 'Set Map Layer GetLayerId ("ListeAOG") Display Graphic 'ne passe pas à la compilation End Sub
Quand j'exécute le code sous mapinfo, ça me dit que ma couche vue n'est pas valide. Quelqu'un peut m'aider?
Merci par avance
Hors ligne
#2 Mon 15 September 2008 11:55
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: [MapBasic 9.0] Afficher des données extraites d'une table
Bonjour
MI vous dit aussi quelle ligne pose problème...
A mon avis vous avez mal écrit le cmd ="..."
Je vois déjà une apostrophe sur votre ligne 2 ...qui inactive toute la ligne 3 suivante !!
Faites un print cmd avant le Run Command Cmd pour vérifier
Hors ligne
#3 Mon 15 September 2008 14:35
- chiche31
- Participant actif
- Date d'inscription: 20 Aug 2008
- Messages: 64
Re: [MapBasic 9.0] Afficher des données extraites d'une table
J'ai rectifié l'apostrophe. Voilà ce que ça donne quand je fais un print cmd :
Set Map Layer ListeAOG Label With toto Auto Off Overlap On Offset 20
Et j'ai toujours la même erreur : "La couche de la vue n'est pas valide"
Hors ligne
#4 Mon 15 September 2008 15:13
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: [MapBasic 9.0] Afficher des données extraites d'une table
Toujours la même histoire avec ces bouts de programme...
Je suppose que vous avez un Mapper ouvert au premier plan, contenant la couche "ListeAOG", quand survient votre Sub afficher ?? Sinon dès le Set Map...il y aura une erreur, sans même attendre le cmd
Pas de numéro de ligne dans le message d'erreur ??
De plus si le cmd ne dit pas Auto On...il ne se passera rien même s'il n'y a pas d'erreur !
Hors ligne
#5 Mon 15 September 2008 15:25
- chiche31
- Participant actif
- Date d'inscription: 20 Aug 2008
- Messages: 64
Re: [MapBasic 9.0] Afficher des données extraites d'une table
La sub afficher est appelée tel quel dans une fonction main où il n'y a que le call afficher. Aucun code supplémentaire, je vous ai tout posté.
QU'est-ce que vous appelez un Mapper?
La ligne qui plante est la ligne "Set Map Layer ListeAOG Editable On"
Je mets le Off à On...
Hors ligne
#6 Mon 15 September 2008 16:19
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: [MapBasic 9.0] Afficher des données extraites d'une table
Un mapper = une fenêtre carte (en anglais...mais ça va plus vite à taper)
Le mbx ne peut marcher que si les conditions que j'évoquais sont réunies quand on le lance....
Hors ligne
#7 Mon 15 September 2008 16:22
- chiche31
- Participant actif
- Date d'inscription: 20 Aug 2008
- Messages: 64
Re: [MapBasic 9.0] Afficher des données extraites d'une table
Vous voulez parler d'une ligne qui ressemble à ça : Create Map ListeAOG CoordSys Earth Projection 8, 104, 7, 9, 0, 0.9996, 500000, 0 ?
Hors ligne
#8 Mon 15 September 2008 16:51
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: [MapBasic 9.0] Afficher des données extraites d'une table
Non...surtout pas : cette ligne modifie la structure de la table ListeAOG (si ouverte) et en détruit tous les objets !!
Il faut un Open Table "chemin\ListeAOG.tab" pour ouvrir ListeAOG
Puis un Map From ListeAOG pour créer le mapper
Ca devrait suffire...avant de lancer le mbx
Hors ligne
#9 Tue 16 September 2008 10:00
- chiche31
- Participant actif
- Date d'inscription: 20 Aug 2008
- Messages: 64
Re: [MapBasic 9.0] Afficher des données extraites d'une table
Après rectification :
Code:
Sub afficher Dim cmd as String Open Table "C:\Program Files\ACXIOM\AIRTAC GIS\Tables\ListeAOG.tab" Map From ListeAOG Set Map Layer ListeAOG Editable On Cmd = "Set Map Layer ListeAOG" + " Label " + " With Nom Auto On Overlap On Offset 20" Run Command Cmd End Sub
Petit soucis : C'est une nouvelle fenêtre blanche qui apparaît, là où je voudrais afficher dans ma fenêtre d'origine les données que contient la table listeAOG (si j'ai bien compris le fonctionnement de set map layer...)
Dernière modification par chiche31 (Tue 16 September 2008 10:00)
Hors ligne
#10 Tue 16 September 2008 10:22
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: [MapBasic 9.0] Afficher des données extraites d'une table
Gros souci: ListeAOG.tab c'est une table graphique ou une table de données ??
- Si c'est une table de données (et qu'elle a subi avant un Create Map...comme évoqué au post #7), la table est munie d'un *.map mais celui-ci ne contient aucun objet graphique -> le mapper blanc ! Si elle n'a pas été munie d'un *.map, c'est le tableau des données (le browser) qui s'affiche...
Pour voir quelque chose, il faut d'abord créer ces objets, avant de les munir de labels
- Si c'est une table graphique....le mapper est blanc soit parce que la table est hors de la fenêtre (la centrer par Set Map Zoom Entire Layer 1), soit parce que ses objets ont un style par défaut qui les rend "invisibles"...
Hors ligne
Pages: 1
- Sujet précédent - [MapBasic 9.0] Afficher des données extraites d'une table - Sujet suivant