#1 Thu 12 June 2014 11:46
- schnesschne
- Participant occasionnel
- Date d'inscription: 13 Mar 2007
- Messages: 21
Traitement par lot Modification structure de tables
Bonjour,
Petit cadeau de chef de projet, l'oubli de respecter la structure des tables SIG imposée par le cahier des charges.
Je cherche donc à traiter par lot mes fichiers tab afin de leurs imposer quelques colonnes supplémentaires avant leurs propres données ...
Du style : Prestataire Char (50) ;
Titre_étude Char (100) ;
Titre_carte Char (100) ;
Maitre_ouvrage Char (50) ;
Date_création Char (8) ;
Titre_rapport Char (100) ;
Numéro_carte Char (8) ;... ensuite les données SIG de chaque tables
Le petit plus serait de trouver aussi comment mettre à jour ces nouveaux champs avec une valeur prédéfinie qui me soulagerai de 80% de saisie
Merci ![]()
Hors ligne
#2 Thu 12 June 2014 13:24
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: Traitement par lot Modification structure de tables
Salut,
Une solution est d'utiliser la FMB (FenĂȘtre MapBasic -> Options -> Afficher FenĂȘtre MapBasic) couplĂ©e avec un petit logiciel appelĂ© "Scriptgen".
Connais tu ces outils?
VoilĂ un lien oĂč le tĂ©lĂ©charger --> http://www.forumsig.org/showthread.php/ … =scriptgen
VoilĂ le script de base:
Code:
Open Table "TonChemin\XXXX.TAB" Interactive Alter Table "XXXX" ( add Titre_etude Char(100), Titre_carte Char(100), Maitre_ouvrage Char(50), Date_création Char (8), Titre_rapport Char (100), Numéro_carte Char (8) ) Interactive
Pour avoir la liste de tes tables en .txt --> http://www.infonautics.ch/directorylistprint/
Pour la question subsidiaire:
Le petit plus serait de trouver aussi comment mettre à jour ces nouveaux champs avec une valeur prédéfinie qui me soulagerai de 80% de saisie
Il faudrait quelques infos
mais il est possible de l'intégrer dans le script de base
A+
Joël
Hors ligne
#3 Thu 12 June 2014 13:39
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: Traitement par lot Modification structure de tables
VoilĂ pour voir ce que la FMB et scriptgen sont capables de faire
--> http://www.forumsig.org/search.php?sear … 26&pp=
--> http://georezo.net/forum/search.php?sea … =scriptgen
Ce serait sympa de suivre vos discussions
http://georezo.net/forum/viewtopic.php?id=56432
http://georezo.net/forum/viewtopic.php?id=65213
http://georezo.net/forum/viewtopic.php?id=76383
, celĂ permets aux autres utilisateurs de voir que votre problĂšme Ă trouver sa solution.
Dernière modification par Spacejo (Thu 12 June 2014 14:01)
Hors ligne
#4 Mon 16 June 2014 08:09
- schnesschne
- Participant occasionnel
- Date d'inscription: 13 Mar 2007
- Messages: 21
Re: Traitement par lot Modification structure de tables
Merci pour ta réponse SPACEJO ; Je vais bosser le script et faire un essai.
Concernant la mise Ă jour des champs, il me faudrait remplir de maniĂšre automatique les champs genre "titre de l'etude...", il me restera ensuite Ă corriger quelques lignes
Merci
Hors ligne
#5 Mon 16 June 2014 12:25
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: Traitement par lot Modification structure de tables
Salut,
Pour compléter tes différents champs sur une table
Code:
Update Tatable set Titre_étude = "titre de l'etude..." Titre_carte = "Titre_carte" etc......
Ou sur une sélection de ta table:
Code:
Select * from TaTable where blablabla into AModifier update AModifier set Titre_étude = "titre de l'etude..." Titre_carte = "Titre_carte" etc......
Ces commandes peuvent ĂȘtre modifier pour aller dans sciptgen:
Code:
Select * from XXXX where blablabla into AModifier update AModifier set Titre_étude = "titre de l'etude..." Titre_carte = "Titre_carte" etc......
A+
Joël
Hors ligne
#6 Mon 16 June 2014 15:48
- schnesschne
- Participant occasionnel
- Date d'inscription: 13 Mar 2007
- Messages: 21
Re: Traitement par lot Modification structure de tables
Bon ; j'ai réussi à dompter le script sans aide à cause de ma version Windows ... bref
Ce dossier est un trÚs bon modÚle pour un support de formation que nous pourrions nommer 'Plus jamais ça !!! ^^'
Une belle collection de bourdes que je me tue à répéter lors de mes formations interne.
Le générateur de script n'a pas aimé du tout certains noms de tables ...
celles avec des '-' et des ' ESPACES ' qu'il transforme par des '_' par exemple et puis surtout les fichiers trop long.
Allez je vais continuer mon sacerdoce et remplir les champs
Merci ![]()
Hors ligne
#7 Mon 16 June 2014 19:57
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: Traitement par lot Modification structure de tables
Le générateur de script n'a pas aimé du tout certains noms de tables ...
C'est plutÎt Mapinfo qui n'a pas apprécié ![]()
A+
Joël
Hors ligne
#8 Tue 17 June 2014 10:48
- schnesschne
- Participant occasionnel
- Date d'inscription: 13 Mar 2007
- Messages: 21
Re: Traitement par lot Modification structure de tables
Sacré Mapinfo ![]()
J'essaie de remplir mes champs en m'aidant de ton support.
je génÚre un script genre ---> Update _ruissellement_non_caracterise set Titre_etude ="Etude du risque inondation sur la commune de Bagnols sur CÚze" Titre_carte ="titre de l'etude" Maitre_ouvrage = "A.B.CÚze..." Date_création = "2011..."
J'ouvre mes tables et ensuite je rentre mes commandes dans la fenĂȘtre MB et je recois un message d'erreur de type Variable Titre_carte non dĂ©finie
Je ne suis pas encore au point.
Hors ligne
#9 Tue 17 June 2014 12:38
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: Traitement par lot Modification structure de tables
"Titre_carte" dans mon exemple est le nom de ton champ qui doit ĂȘtre incrĂ©menter ![]()
Code:
update Nom_de_ta_table set Nom_du_Champ_contenant_ le_Titre_étude = "titre de l'etude..." Nom_du_Champ_contenant_ le_Titre_carte = "Titre_carte" etc......
Dernière modification par Spacejo (Tue 17 June 2014 12:38)
Hors ligne
#10 Tue 17 June 2014 14:42
- schnesschne
- Participant occasionnel
- Date d'inscription: 13 Mar 2007
- Messages: 21
Re: Traitement par lot Modification structure de tables
Pour ĂȘtre sur j'ai fait cette requĂȘte
Update _ruissellement_non_caracterise set Titre_etude = " Titre_etude " Titre_carte ="Titre_carte" Maitre_ouvrage = "Maitre_ouvrage" Date_création = "Date_création" Titre_rapport = "Titre_rapport" Numéro_carte = "Numéro_carte"
Normalement il devrait me mettre le contenu des champs = titre des champs mais j'ai toujours le mĂȘme code erreur ![]()
Hors ligne
#11 Tue 17 June 2014 15:10
- schnesschne
- Participant occasionnel
- Date d'inscription: 13 Mar 2007
- Messages: 21
Re: Traitement par lot Modification structure de tables
Bon,
Je pense en avoir fini . Il fallait juste rajouter quelques virgules entre 2 champs ![]()
Merci pour tout Monsieur le Lorrain !
Je suis né à Verdun dans les tranchées
A+
Hors ligne
#12 Tue 17 June 2014 19:30
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: Traitement par lot Modification structure de tables
Il fallait juste rajouter quelques virgules entre 2 champs
Oublis de ma part, je pensais les avoir mis, désolé du contre temps.
Moi je suis né à Nancy dans les chardons ![]()
A+
Joël
Hors ligne

