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

Résolu/Fermé
freto Messages postés 1542 Date d'inscription vendredi 6 juillet 2007 Statut Membre Dernière intervention 8 avril 2016 - 3 sept. 2008 à 11:56
freto Messages postés 1542 Date d'inscription vendredi 6 juillet 2007 Statut Membre Dernière intervention 8 avril 2016 - 3 sept. 2008 à 17:23
...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 1542 Date d'inscription vendredi 6 juillet 2007 Statut Membre Dernière intervention 8 avril 2016 161
3 sept. 2008 à 17:23
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