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Ă© ?

#1 Thu 18 June 2009 11:41

laure4024
Participant occasionnel
Date d'inscription: 16 Jun 2009
Messages: 20

invertion des enregistrements en map Basic

bonjour,

J'ai 2 tables qui ont des enregistrements communs et d'autres non. Afin de rĂ©cupĂ©rer les enregistrements qui ne sont pas communs aux 2,  j'ai tout d'abord fait une requĂȘte pour rĂ©cupĂ©rer les enregistrements communs aux 2 tables et ensuite j'ai cliquer sur la touche inversion ce qui m'a sĂ©lectionner les enregistrements non communs aux 2 tables.
J'aurai aimé savoir s'il était possible de traduire cela en Map Basic.

merci d'avance

Hors ligne

 

#2 Thu 18 June 2009 13:44

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: invertion des enregistrements en map Basic

Bonjour
Comme la manip' peut se faire en une seule requĂȘte, genre:
Select * From TableA Where NOT Champ_A IN (Select Champ_B Fom TableB)
il suffit de passer cette requĂȘte (interprĂ©tĂ©e si elle mĂȘle constantes et variables) en MapBasic
dim cmd as string
cmd="Select * From "+TableA+" Where NOT "+Champ_A+" IN (Select "+Champ_B+" Fom "+TableB+")"
Run command cmd

Hors ligne

 

#3 Thu 18 June 2009 15:14

laure4024
Participant occasionnel
Date d'inscription: 16 Jun 2009
Messages: 20

Re: invertion des enregistrements en map Basic

est ce que champs_A correspond Ă  tous les chaps de la table A?

Hors ligne

 

#4 Thu 18 June 2009 16:09

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: invertion des enregistrements en map Basic

Non: Champ_A est un champ de la TableA qui a x enregistrements, et Champ_B est le champ équivalent de la TableB qui a y enregistrements (avec x > y)
Mais ça n'est peut ĂȘtre pas la solution Ă  votre problĂšme...
S'il s'agit d'objets, alors ça devient
Select * From TableA Where NOT obj Entirely Within any  (Select obj Fom TableB)

Hors ligne

 

#5 Thu 18 June 2009 16:42

laure4024
Participant occasionnel
Date d'inscription: 16 Jun 2009
Messages: 20

Re: invertion des enregistrements en map Basic

j'ai effectuĂ© cette requĂȘte  sur mes tables

Select * From TableA Where NOT obj Entirely Within any  (Select obj Fom TableB)
cela me sélectionne bien les enregistrement qui ne sont pas communs aux 2 tables.
merci de l'aide

Hors ligne

 

#6 Thu 18 June 2009 17:05

laure4024
Participant occasionnel
Date d'inscription: 16 Jun 2009
Messages: 20

Re: invertion des enregistrements en map Basic

lorsque j'ai voulu ajouter les 2 tables entre elles en faisant table/ajouter Ă 
j'ai eu un message d'erreur " impossible de convertir les données"
je ne comprend pas

Hors ligne

 

#7 Thu 18 June 2009 18:14

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: invertion des enregistrements en map Basic

Les deux tables n'ont pas la mĂȘme structure de donnĂ©es: champs dans le mĂȘme ordre et respectivement de mĂȘme nature (entier, caractĂšre, etc...) et peut ĂȘtre mĂȘme de mĂȘme nom (ça je ne crois pas: les noms de la table "qui reçoit" seront utilisĂ©e)
Il faut "égaliser" (si possible) les deux structures avant d'ajouter...

Hors ligne

 

Pied de page des forums

Copyright Association GeoRezo