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é ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Wed 11 August 2010 17:46

benjamin.norrito
Participant occasionnel
Date d'inscription: 27 Jan 2010
Messages: 24

Mapbasic "impossible de supprimer d'une vue"

Voila mon problème:

je fais une requete SQL, j'en sors une selection
j'essaye de supprimer la selection mais un message affiche "impossible de supprimer d'une vue", savez vous pourquoi? (en fait je me sers de la selection pour supprimer une des lignes de ma table initiale)

je vous laisse mes lignes ci-dessous comme exemple

Select * from tab1_dist, dist_min_tab_d_p1a where tab1_dist.Distance_résultat=dist_min_tab_d_p1a._COL1 into selection
delete from selection 'c'est là où ca bug!!!!

Merci d'avance pour votre aide smile

Hors ligne

 

#2 Thu 12 August 2010 15:19

sylvain poupard
Participant assidu
Date d'inscription: 19 Mar 2009
Messages: 362

Re: Mapbasic "impossible de supprimer d'une vue"

Bonjour,

As tu rendu ta couche éditable?

Sinon tu peux mettre ça dans la fenêtre mapbasic:

Code:

Open Table "C:\...\tab1_dist.TAB" as tab1_dist Interactive
Open Table "C:\...\dist_min_tab_d_p1a.TAB" as dist_min_tab_d_p1a Interactive
Map From tab1_dist,dist_min_tab_d_p1a
Set Window FrontWindow() Title "Géorezoc2labal"
Set Map Window frontwindow() Layer 1 Editable On
Select * from tab1_dist, dist_min_tab_d_p1a where tab1_dist.Distance_résultat=dist_min_tab_d_p1a._COL1 into selection
delete from selection

Ca te fais créer une carte mais je n'ai pas d'autres soluctions sous le bras.

Bon courage

Dernière modification par sylvain poupard (Thu 12 August 2010 15:31)

Hors ligne

 

#3 Thu 12 August 2010 15:31

jean94
Participant assidu
Date d'inscription: 13 Aug 2009
Messages: 436

Re: Mapbasic "impossible de supprimer d'une vue"

Bonjour,

Des fois le fait d'inversé "tab1_dist.Distance_résultat=dist_min_tab_d_p1a._COL1 into selection" pour "dist_min_tab_d_p1a._COL1=tab1_dist.Distance_résultat into selection" regle certain problème car la sélection choisis certains attributs de la premiere table. e.g. la géométrie

JF

Hors ligne

 

#4 Thu 12 August 2010 15:35

sylvain poupard
Participant assidu
Date d'inscription: 19 Mar 2009
Messages: 362

Re: Mapbasic "impossible de supprimer d'une vue"

jean94 a écrit:

Bonjour,

Des fois le fait d'inversé "tab1_dist.Distance_résultat=dist_min_tab_d_p1a._COL1 into selection" pour "dist_min_tab_d_p1a._COL1=tab1_dist.Distance_résultat into selection" regle certain problème car la sélection choisis certains attributs de la premiere table. e.g. la géométrie

JF


+1

Dit autrement dans ton "From" il faut que la première table appelée soit celle qui contient les objets que tu veux supprimer.

Hors ligne

 

#5 Thu 12 August 2010 19:20

Spacejo
Membre
Lieu: Nancy
Date d'inscription: 17 Aug 2008
Messages: 2511

Re: Mapbasic "impossible de supprimer d'une vue"

Salut,

A essayer:

Code:

Select ID from table1, table2 where table1.champs1=table2.champs1 into A_effacer

Exporter "A_Effacer" en .txt puis les placer dans la requète suivante:

Code:

Delete Obj From table1 Where RowId in (Id1, Id2 etc....)

A+
Joël

Hors ligne

 

#6 Fri 13 August 2010 15:02

sylvain poupard
Participant assidu
Date d'inscription: 19 Mar 2009
Messages: 362

Re: Mapbasic "impossible de supprimer d'une vue"

Aaaaaaaaah peut être...

Je viens de voir dans ton message initial "_COL1". Une requête de MAJ grâce à une colonne temporaire ? je crois que ça vient de là wink
Va faloir que tu nous en dises plus sur l'architecture de tes tables si tu n'as pas d'autre moyen de faire ta sélection!

bye

@ spacejo : Dans ton post ce que tu lui propose lui fait retaper TOUS les id!
Un petit delete from selection comme il le faisait suffit je pense smile

Hors ligne

 

#7 Fri 13 August 2010 16:26

Spacejo
Membre
Lieu: Nancy
Date d'inscription: 17 Aug 2008
Messages: 2511

Re: Mapbasic "impossible de supprimer d'une vue"

@ spacejo : Dans ton post ce que tu lui propose lui fait retaper TOUS les id!
Un petit delete from selection comme il le faisait suffit je pense smile


Hélas cette solution selon lui ne fonctionne pas
Tu n'as pas lu la totalité de mon post:
Je suis partisant du moindre effort (en info) wink

Exporter "A_Effacer" en .txt puis les placer dans la requète suivante:


Un Crl A, Ctrl C et Ctrl V n'est pas trés contraignant big_smile
Pour palier à cette manip, à essayer:

Code:

Delete Obj From table1 Where RowId in (Select ID from table1, table2 where table1.champs1=table2.champs1)

A+
Joël

Dernière modification par Spacejo (Sun 15 August 2010 11:25)

Hors ligne

 

#8 Mon 16 August 2010 11:56

sylvain poupard
Participant assidu
Date d'inscription: 19 Mar 2009
Messages: 362

Re: Mapbasic "impossible de supprimer d'une vue"

Si si j'avais bien lu smile. Mais je n'avais pas pensé au Ctrl A,C,V parceque lors de mon export test j'avais plusieurs colonnes...

Quoiqu'il décide d'utiliser je reste sur 2 choses:

- Rendre modifiable la couche concernée si ce n'est pas fait et
- Ne pas faire sa requête de MAJ grâce à une colonne temporaire (_COL1)

Hors ligne

 

#9 Mon 16 August 2010 12:37

Spacejo
Membre
Lieu: Nancy
Date d'inscription: 17 Aug 2008
Messages: 2511

Re: Mapbasic "impossible de supprimer d'une vue"

parceque lors de mon export test j'avais plusieurs colonnes...


Dans ma clause "select" il n'y a que l'ID et donc une seule colonne wink
La requète imbriquée est à essayer:

Code:

Delete Obj From table1 Where RowId in (Select ID from table1, table2 where table1.champs1=table2.champs1)

A+
Joël

Hors ligne

 

#10 Fri 11 February 2011 13:34

gdelote
Juste Inscrit !
Date d'inscription: 5 Dec 2006
Messages: 5

Re: Mapbasic "impossible de supprimer d'une vue"

Bonjour,


Je suis également confronté à ce problème. Personne n'a trouvé une solution plus propre que de faire un copier / coller dans un fichier .TXT ??? inutilisable dans un traitement automatisé...

Je suis surpris qu'une fonction aussi basique ne puisse être réalisée simplement...


Merci pour vos suggestions.

Hors ligne

 

Pied de page des forums

Powered by FluxBB