[VBA] De la concaténation de nombres...

Résolu
freto Messages postés 1543 Date d'inscription   Statut Membre Dernière intervention   -  
freto Messages postés 1543 Date d'inscription   Statut Membre Dernière intervention   -
...en un mot le concaténation évidemment.
Bonjour tout le monde. Me voila pour un ti casse tete.
J'ai une table dans ACCESS comportant des nombres: ces nombres tiennent sur 8 chiffres obligatoirement (donc ajout de 0 devant non significatifs si il le faut).
Le problème vient au moment de réécrire ces nombres dans un fichier (avec a coté d'autres zinfos tirées dans d autres tables). Je doit donc concaténer ces nombres a des chaines de caractères.
J ai tenté le Str(nombre en question, ou plus précisément un dlookup ...), mais sa me vire les zeros non significatifs, et c pas le but de la manoeuvre.
Quelqu'un a compris et pourrait me donner un indice de réponse svp? voire mm une réponse pourquoi pas, j'accepterai volontier, je suis pas difficile
Merci d'avance et Bonne journée

1 réponse

freto Messages postés 1543 Date d'inscription   Statut Membre Dernière intervention   162
 
Euréka!!! Gnai trouvé!!!!
Mais alors j'aurais jamais cru que sa serait aussi simple ...pourquoi sa m'a pas sauté aux yeux dès le midi (le creux de 11h et ses séquelles peut etre).
Bon récap' de comment que j'ai fait:
D'abord, je convertit le nombre en chaine de caractères (jvous donne tout le truc c encore plus fendant): sa donne
Str(DLookup("[Matricule]", "Correspondance", "[Oracle ID] = " + Str(rs.Fields(0).Value))
Le rs.Fields(0).Value c parce que je parcours un recordset mine de rien pendant ce temps la...et c'est des nombres donc reconversion via un Str()
Ensuite ya un espace a gauche qui m'énerve: jle fait sauter avec un Ltrim. On a donc
LTrim(Str(DLookup("[Matricule]", "Correspondance", "[Oracle ID] = " + Str(rs.Fields(0).Value)))
Je concatène sa à une suite de 8 zeros:
"00000000"+LTrim(Str(DLookup("[Matricule]", "Correspondance", "[Oracle ID] = " + Str(rs.Fields(0).Value)))
Et j'en extrait les 8 derniers caractères avec un right
Right("00000000"+LTrim(Str(DLookup("[Matricule]", "Correspondance", "[Oracle ID] = " + Str(rs.Fields(0).Value)))
,8)
Imaginez que ce n'est qu'une partie de l'écriture, la ligne complete je vous la donne pas, sa devient hardcore (jeunes développeurs s'abstenir)
Merci quand même
1