#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
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"
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à
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
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
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)
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
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 . 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
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