bonjour,
je ne sais pas si je suis au bon endroit pour ce sujet, mais je tente ma chance.
je suis sur un logiciel de cartographie appelé MapInfo, qui gere a la fois des données graphiques et numériques. mon probleme se pose sur les données numériques. on peut acceder à une fenetre de programmation MapBasic (d'ou mon arrivée ici). les fichiers de programmation créés sont des .MBX
sur une table, je cherche à créer un nouveau champs, limité à 6 caractères, mais n'en comportant parfois que 5. ce champs serait la concatenation de deux autres champs.
mon probleme : le premier champs comporte une lettre et un 0 ou bien 2 lettres. mon second champs possede de 1 à 3 chiffres.
je cherche a rajouter des zéros devant ces chiffres afin d'avoir constamment 1 ou deux lettres et 4 chiffres (en passant par un champs intermédiaire surement). cela ne semble pas possible en sql, mais peut-etre existe-il en basic un moyen de programmer un ajout de zéros en début de champs en fonction du nombre de chiffres déjà présents?
ex : champs 1 |champs 2 |champ final
A0|1 |A0001 --> 5 caractères uniquement
A0|154|A0154
A0|15 |A0015
AB|2 |AB0002--> 6 caracteres
AB|365|AB0365
je peut retravailler plus facilement le champs 1 en enlevant les zéros supplémentaires, afin de créer un champs intermédiaire de la manière suivante : les chiffres du champs 2 précédés des zéros nécessaires pour avoir toujours 4 chiffres dans mon champs. après quoi je concatene le champs 1 modifié et le champs intermédiaire.
a noter : il m'est difficile de tout reprendre à la main dans la mesure où j'ai 7 tables de près de 5000 enregistrements chacunes!
j'espere que je suis claire, mais si ce n'est pas le cas, n'hesitez pas à me demander plus d'indications.
Partager