#1 Thu 18 October 2012 10:23
- Fct59
- Juste Inscrit !
- Date d'inscription: 18 Oct 2012
- Messages: 4
MapInfo Pro 8.0 / Selection des communes via Depcom
Bonjour,
Je débute (totalement) sur MapInfo et je souhaite savoir si il est possible de sélectionner sur la carte, un ensemble de commune automatiquement.
Je dispose d'une liste de Depcom (code INSEE) et je souhaiterai, en intégrant cette liste quelque part dans MI, que les communes soient sélectionnées sur la carte automatiquement.
J'ai tenté via l'outil Sélection > Sélection > Table : FR_Com99> Critères : Depcom = 16203
mais cela ne fonctionne pas : "Erreur de Type dans l'expression, Erreur de syntaxe, corrigez et recommencez.
Pouvez-vous m'éclairer à ce sujet ? Et surtout comment faire pour sélectionner une liste de Depcom (environ 200) via cet outil, en 1 seule requête.
Merci beaucoup par avance pour vos retours
Hors ligne
#3 Thu 18 October 2012 16:01
- Fct59
- Juste Inscrit !
- Date d'inscription: 18 Oct 2012
- Messages: 4
Re: MapInfo Pro 8.0 / Selection des communes via Depcom
Bonjour,
Étant débutant, je ne vois pas ce que vous entendez par là malheureusement.
Lorsque je sélectionne manuellement des communes et que je fais "F2", il m'affiche bien le nom, le depcom, la population etc de la commune. L'information est donc déjà présente dans chaque objet.
Je me suis donc dit que la sélection automatique via l'outil "Sélection" devrait donc être simple
Hors ligne
#4 Fri 19 October 2012 08:38
- cedricmaury
- Juste Inscrit !
- Lieu: CHANTERAINE-Morlaincourt
- Date d'inscription: 13 Feb 2010
- Messages: 5
Re: MapInfo Pro 8.0 / Selection des communes via Depcom
Bonjour,
Le fait que vous ayez une erreur de type provient probablement du type de votre champ Depcom. Celui-ci doit être en caractères. Vous pouvez vérifier dans Table -> Gestion des tables -> Modifier structure. Donc dans votre requête , mettez votre numéro entre guillemets.
Pour ce qui est de sélectionner plusieurs communes, cela dépend. Si par exemple, toutes tes communes commencent par 16, vu peux utiliser dans tes critères Depcom llike "16%". Le sigle % remplace un ensemble de caractère dans MapInfo. Si ce n'est pas ça, essayez de trouver un champ où les entrée sont ressemblantes pour les communes que vous voulez sélectionner. Si vous rencontrez des problèmes, précisez votre recherche.
Cordialement
Hors ligne
#5 Mon 22 October 2012 09:55
- Fct59
- Juste Inscrit !
- Date d'inscription: 18 Oct 2012
- Messages: 4
Re: MapInfo Pro 8.0 / Selection des communes via Depcom
Bonjour,
Pardon pour ma réponse tardive. Merci pour vos réponses.
En effet, via "Table", j'ai indiqué Caractère sur le Depcom.
J’arrive donc désormais, via l'outil "Sélectionner", à sélectionner 1 commune, en utilisant les guillemets pour le Depcom (que je ne mettais pas avant).
Toutefois, je n'arrive pas à sélectionner plusieurs communes via la même requête ! Les Depcom ne se suivent pas tous et ils ne sont pas tous dans le département 16.
Que dois-je indiquer dans l'outil Sélection ?
Lorsque je mets : DepCom = "16010""16021""16025" ou DepCom = "16010,16021,16025" ou DepCom = "16010;16021;16025" le message est "Aucun enregistrement n'est sélectionné" (Alors qu'à priori la syntaxe est correcte).
Merci encore par avance pour votre aide (à un vrai vrai débutant...)
Hors ligne
#6 Mon 22 October 2012 10:35
- cedricmaury
- Juste Inscrit !
- Lieu: CHANTERAINE-Morlaincourt
- Date d'inscription: 13 Feb 2010
- Messages: 5
Re: MapInfo Pro 8.0 / Selection des communes via Depcom
Bonjour,
Il faut repéciser à chaque fois sur quel champ vous travaillez et utiliser l'opérateur logique "or" (qui veut dire ou en français), ce qui donne dans l'exemple que vous proposez : Depcom = "16010" or Depcom = "16021" or Depcom = "16025". Peut-être que quelqu'un d'autre connait une méthode plus simple car si vous devez sélectionner beaucoup de communes, on arrive vite à une expression très longue. En plus, je crois (sans en être totalement sûr) que le nombre de critères est limité...
Cordialement,
Hors ligne
#7 Mon 22 October 2012 11:14
- Fct59
- Juste Inscrit !
- Date d'inscription: 18 Oct 2012
- Messages: 4
Re: MapInfo Pro 8.0 / Selection des communes via Depcom
Merci beaucoup !
J'arrive désormais via votre requête (Depcom = "16010" or Depcom = "16021" ) à faire une sélection multiple (j'édite la requête automatiquement via Excel, c'est plus rapide et automatique)
Par contre, en effet, l'outil Sélection est limité à 12 lignes. Via l'outil Sélection SQL, j'arrive à faire 45 lignes en 1 demande.
Existe-t-il donc un outil (autre ? Importer ?) pour sélectionner un nombre illimité de communes via Depcom ?
Hors ligne
#8 Mon 22 October 2012 11:31
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: MapInfo Pro 8.0 / Selection des communes via Depcom
Salut,
Pour réduire un peu tu peux passer par un "in" :
Code:
Select * from FR_Com99 where Depcom in ("16010", "16021", "etc...") into selection
Cette requête est à placer dans la FMB --> Options --> Voir Fenêtre MapBasic.
Si tu utilises l'outil sélection --> Dans Critère --> Depcom in ("16010", "16021", "etc...")
A+
Joël
Dernière modification par Spacejo (Mon 22 October 2012 11:45)
Hors ligne
#9 Mon 22 October 2012 13:29
Re: MapInfo Pro 8.0 / Selection des communes via Depcom
Bonjour,
Désolé pour la réponse rapide de l'autre jour mais j'étais assez occupé, et je n'ai pas eu le temps pour une réponse détaillée. Le principe de la jointure est de rapatrier des informations d'une table vers une autre. Sur Access, ça se traduit grâce aux relations entre tables.
Voilà des détails sur la procédure :
Le principe
A partir d'un champ d'identifiant unique commun vous pourrez apparier vos deux tables par une jointure attributaire et ainsi sélectionner uniquement une liste de valeurs.
Exemple
Je simplifie un peu pour la démo :
Table 1 (données sources, ici votre liste de communes Depcom)
Commune1, CodeInsee, ValeurA, ValeurB
Commune2, CodeInsee, ValeurA, ValeurB
Commune3, CodeInsee, ValeurA, ValeurB
Table 2 (données cible, ici votre fichier TAB avec toutes les communes de France, par exemple)
Commune1,Insee_com, EntitéGeometrique
Commune2,Insee_com, EntitéGeometrique
Commune3,Insee_com, EntitéGeometrique
...
Commune36680,Insee_com, EntitéGeometrique
Grâce au champ CodeInsee de depcom et et Insee_com de communes qui comportent les mêmes valeurs pour la même commune vous pourrez rapatrier les valeurs A, B, ou autre valeur contenue dans la Table 1 vers la Table 2.
La requête SQL
Via la FMB (Fenêtre Mabasic dans le menu option/afficher la fenêtre MB) vous pouvez passer des requêtes SQL complexes qui font cette jointure.
Voilà le genre de requête pour opérer la jointure à taper dans le fenêtre MB. Si vous n'y arrivez pas, je vous expliquerais via la commande Requête SQL dans la fenêtre sélection. N'oubliez pas de remplacer les noms de vos tables :
Code:
Select * from Depcom, COMMUNE where Depcom.CodeInsee = COMMUNE.Insee_com into Selection
Cette requête créé une table provisoire où tous vos champs sont réunis :
Code:
Communes.insee_Com, EntitéGeometrique, Commune1, Depcom.CodeInsee, ValeurA, ValeurB Communes.insee_Com, EntitéGeometrique, Commune2, Depcom.CodeInsee, ValeurA, ValeurB ...
Tous les champs sont réunis dans cette requête et tous les enregistrements, A CONDITION que les codes insee correspondent. C'est pourquoi on évite de faire des jointures sur les champs des noms de commune qui peuvent être orthographiés différemment selon les sources et qui ferait échouer la requête.
Il est possible de changer la requête pour nommer la table provisoire différemment :
Code:
Select * from Depcom, COMMUNE where Depcom.CodeInsee = COMMUNE.Insee_com into LeNomQueJeVeux
Attention, ce n'est pas une table physique encore c'est juste une sélection ! Dernière étape, il est possible d'afficher ces communes dans la fenêtre carte en l'ajoutant comme une table "normale". Notez que si vous rajoutez des valeurs à votre table depcom, la requête rajoutera automatiquement les nouvelles communes via la sélection SQL.
N'hésitez pas à poster si besoin de détails.
Enfin, dernier conseil, même si elle semble plus longue à expliquer, je pense que cette méthode est plus "saine" car en principe exhaustive, pas d'erreur de sélection possible sauf si vos champs INSEE ne sont pas identiques. Et vous gagnerez du temps si vous la comprenez !
Hors ligne
#10 Tue 23 October 2012 11:00
- G.BAZIN
- Participant occasionnel
- Lieu: Marseille
- Date d'inscription: 5 Sep 2005
- Messages: 43
Re: MapInfo Pro 8.0 / Selection des communes via Depcom
Bonjour,
Il existe une possibilité avec any
Ainsi votre sélection aura cette écriture - depcom = any ("16021","16010", "16000","16025") pas plus certainement que 255 caractères.
Cordialement
****MODERATION*****
cette réponse était en attente de traitement par la modération, traité ce matin seulement (désolé), mais écrit le 22/10/12 à 10h45 (donc à replacer mentalement dans le fil de la discussion, entre les post #6 et #7).
Hors ligne