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Ă© ?

#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 smile

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 wink mais il est possible de l'intégrer dans le script de base smile
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 wink --> http://www.forumsig.org/search.php?sear … 26&pp=
--> http://georezo.net/forum/search.php?sea … =scriptgen

Ce serait sympa de suivre vos discussions wink

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 wink

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

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 wink


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 sad

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 smile

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 wink
A+
Joël

Hors ligne

 

Pied de page des forums

Copyright Association GeoRezo