#1 Mon 04 May 2009 10:48
- Frédérique
- Participant actif
- Date d'inscription: 13 Jul 2007
- Messages: 51
Delete Table View
Bonjour,
J'écris des scripts en Python pour réaliser des choses et d'autres....
Dans un de mes scripts, je veux :
- Vérifier si une table (Copar_ground_View) existe,
- Si oui, la deleter
- Ensuite la créer
...donc en fait, cela empêcherait mon programme de planter sur le MakeTableVIew si j'avais déjà fait tourner le programme avant.
Seulement cela ne fonctionne pas. Voici mes lignes de codes (J'ai essayé en Hard-coded, ça ne change rien) :
if gp.Exists("H:\\ITGI_BDC\\BDCarto_tmp.gdb\\Copar_ground_View"):
gp.delete_management("H:\\ITGI_BDC\\BDCarto_tmp.gdb\\Copar_ground_View")
gp.MakeTableView_management(Copar_AfterAppend_BeforeMakeTableView, "H:\\ITGI_BDC\\BDCarto_tmp.gdb\\Copar_ground_View", "", "", "COPAR COPAR VISIBLE")
Il me dit que cela ne fonctionne pas pcq Copar_ground_View n'est pas un layer. Effectivement c'est une table MAIS gp.delete_mangement doit fonctionner aussi avec les Table View. Non?
Si qqun a plus d'expérience dans les suppressions de table via des scripts Python, je me réjouis qu'il me transmette tout son savoir...
Merci d'avance pour vos infos, bonne journée,
Fred
Hors ligne
#2 Mon 04 May 2009 11:21
Re: Delete Table View
Je regarde deux secondes la documentation de Delete_management et je vois quelques pistes, comme définir l'espace de travail par un gp.workspace, puis simplement indiquer le nom du jeu de données dans le Delete_management.
Aussi, une petite précision, dans l'API d'ArcGIS, la TableView est la fenêtre contenant la table, pas la table.
Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !
Hors ligne
#3 Mon 04 May 2009 15:55
- Frédérique
- Participant actif
- Date d'inscription: 13 Jul 2007
- Messages: 51
Re: Delete Table View
Merci Jeirhome pour l'info mais je crainds que ce ne soit pas la solution.
...Avant de programmer en Hard-Coded, j'avais procédé "proprement" par gp.workspace, en définissant mes variables etc... mais ça ne fonctionnait pas mieux. D'où mes nouvelles lignes de code.
Pour TableView, je pensais que TableView était l'équivalent d'un layer mais pour une table. Voilà pourquoi je l'appelais ainsi. Merci pour la précision quand-même.
En attendant une autre belle idée,
Bien le merci,
Frédérique
Hors ligne
#4 Mon 04 May 2009 16:16
Re: Delete Table View
Pour TableView, je pensais que TableView était l'équivalent d'un layer mais pour une table.
Eh bien, si on peut dire ça !
Et donc, comme pour les couches carto, si on supprime les données représentées, on ne peut plus créer de couche représentant ces données.
Là, tu supprimes la table "Copar_ground_View" (les données), puis tu veux créer une vue sur ces données qui n'existent plus. C'est donc normal qu'il t'informe que les données n'existent plus.
Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !
Hors ligne