#1 Mon 06 March 2006 14:31
- sarah67
- Participant occasionnel
- Lieu: Strasbourg
- Date d'inscription: 8 Feb 2006
- Messages: 28
selection dans une carte enfonction d'une autre table
Bonjour,
je suis débutant sous MApInfo, et je suis un peu perdue là..
J'ai un fichier qui caractérise une carte, avec des parcelles, chacune désignée par un numéro d'identification. J'ai crée una auter table, importée d'access, qui recense un certains nombre de parcelles aux attributs spéciaux (à l'intérieur d'un certain périmètre, et plantés d'une certaine culture). Je voudrais afficher ces parcelles sur ma carte, par une sélection.
dans ma sélection SQL, je marque donc mes deux tables , et j'indique comme critère
Code:
"n_rpg_067_2005.PACilot = gel_ZSC_SEC7.PACilot"
, en sachant que
Code:
n_rpg_067_2005
, c'est ma table principale,
Code:
PACilot
l'identifiant, et
Code:
gel_ZSC_SEC7
ma table de rencensement..
Quand j'effectue ma requête, j'ai un problème: seul trois des enregistements sont trouvés et affichés quand je fais "rechercher sélection"....je devrais en avoir 76 en tout!
Quel peut ête le problème?
Merci d'avance,
Sarah
Hors ligne
#2 Mon 06 March 2006 15:11
- sarah67
- Participant occasionnel
- Lieu: Strasbourg
- Date d'inscription: 8 Feb 2006
- Messages: 28
Re: selection dans une carte enfonction d'une autre table
j'ai rééssayé avec une autre table, avec d'autres enregistrements: seul l'un des enregistrements est reconnu, et je ne trouve pas ce qui le distingue des autres....
Hors ligne
#3 Mon 06 March 2006 17:05
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: selection dans une carte enfonction d'une autre table
Bonjour,
Sous réserve que les deux tables 'parcelles' et 'attributs' aient un identifiant unique commun (qui peut ne pas avoir le même nom dans les deux tables: id_p et id_a par exemple), la requête doit avoir cet air là:
select * from parcelles,attributs where parcelles.ide_p=attributs.id_a
Syntaxe: select *(si tous les champs_, ou liste des champs souhaités) from table1,table2 where nomchamp.table1=nomchamp.table2
Pour s'initier au SQL, voir les documents disponibles sur http://www.paris-pc-gis.com/MI_Enviro/mie_start.htm
Bon courage
Hors ligne
#4 Mon 06 March 2006 20:46
- Damien BEAUSEIGNEUR
- Participant assidu
- Lieu: meyzieu
- Date d'inscription: 5 Sep 2005
- Messages: 425
Re: selection dans une carte enfonction d'une autre table
Vérifie les types de champs de tes deux tables, l'idéal c'est que les deux soit identique. Si d'un coté tu as en "011" et de l'autre "11" le lien ne se fera pas si travaille avec des chaines de caractères.
Essaye de trouver un enregistrement non sélectionné dans l'ensemble de tes parcelles pour déterminer la différence.
Par exemple, il arrive que les codes postaux soit prit pour des nombres à l'importation. Nous arrivons alors a des code du style "1030" au lieu "01030" et pour les liens c'est un peu dur.
Hors ligne
#5 Tue 07 March 2006 08:54
- sarah67
- Participant occasionnel
- Lieu: Strasbourg
- Date d'inscription: 8 Feb 2006
- Messages: 28
Re: selection dans une carte enfonction d'une autre table
Ma requête a l'air juste...pour les types de champs de mes deux tables,ils sont identiques aussi. Je ne vois pas de différence ente ceux qui ne sont pas sélectionnés, et ceux qui le sont. Ils sont tous tirés de la même table d'origine, et je n'ai rien modifié.Ils ont strictement les même caractéristiques!
N'y a-t-il pas autre chose qui pourrait être faux?
Hors ligne
#6 Tue 07 March 2006 09:06
- sarah67
- Participant occasionnel
- Lieu: Strasbourg
- Date d'inscription: 8 Feb 2006
- Messages: 28
Re: selection dans une carte enfonction d'une autre table
Je viens de vérifier ma table de base, parce que lors d'une mise à jour d'une colonne, il commence à travailler, et ensuite il me dit que la mise à jour de la base n'est pas possible: il s'arrête en effet à une ligne grisée, que l'on ne peut pas sélectionner, et donc pas supprimer.De quoi s'agit-il?Il y en a plusieurs..
Hors ligne
#7 Tue 07 March 2006 09:42
Re: selection dans une carte enfonction d'une autre table
B'jour,
ah une ligne grisée signifie que tu as effacé des données dans ta tbale, pour les enlever il faut compacter ta table : table >> gestion des tables >> compacter table. Il faut effectivement faire attention à ces lignes qui peuvent te pourrir l'exécution de tes programmes.
Cordialement,
alex
J'arrête le combat pour le SVG !! et je ne fais plus que de l'information.
SVG : Scalable Vector Graphic ou comment mettre de la vie sur votre site Internet.
www.ode43.fr
Hors ligne
#8 Tue 07 March 2006 09:56
- sarah67
- Participant occasionnel
- Lieu: Strasbourg
- Date d'inscription: 8 Feb 2006
- Messages: 28
Re: selection dans une carte enfonction d'une autre table
entre-temps, j'avais trouvé
En fait, il y vait plusieurs de ces lignes, mais la base était mitée quand je l'ai eu, je ne pouvais donc pas savoir...En tout cas, le compactage a résolu mon problème, j'ai pu totalement mettre à jour ma colonne d'identifiants, et maintenant la requête me trouve mes parcelles....correctement identifiées.
Merci à tous!
(Y a t-il un moyen de signaler que le problème est résolu?)
Hors ligne