#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

