Goth25
Messages postés75Date d'inscriptionsamedi 26 juillet 2003StatutMembreDernière intervention21 mai 2014
-
15 sept. 2006 à 15:05
Goth25
Messages postés75Date d'inscriptionsamedi 26 juillet 2003StatutMembreDernière intervention21 mai 2014
-
16 sept. 2006 à 00:08
Ma question est toute bête, dans un formulaire j'ai des champs auquel les usagers doit entrer des nombres. Il arrive souvent que les nombres soit du style : 003622. Dans mon code je récupère cette donnée et je l'envois dans une base de donnée. Le problème qu'il y a c'est que rendu dans ma base de donnée sa me donne 3622. Je crois que ce probleme viens des variables vb car quand je suis ma variable, je vois bien que c'est elle qui ne les gardes. Quelqu'un pourrais me dire si y'a un truc pour les garder ?
cs_thephil
Messages postés189Date d'inscriptionmercredi 21 août 2002StatutMembreDernière intervention19 janvier 2011 15 sept. 2006 à 15:15
pour stocker des nombres avec des 0 devant, il faut les stocker dans une variable type string. Je pense pas qu'il y'ait d'autres solutions.
Et le champs de la BDD qui accueuillera ton nombre devra aussi etre en texte.
JessicaR44
Messages postés116Date d'inscriptionmardi 8 août 2006StatutMembreDernière intervention29 septembre 2013 15 sept. 2006 à 18:40
Bon,jour tout le monde,
Pour transformer 3622 en 0000003622 (10 positions):
right("0000000000" & ltrim(rtrim(str(3622))),10)
Si ce n'est pas pour une lectue par code bar, je maintiens que c'est plus facile de demander à l'utilisateur d'introduire "3622" et dans le code, avant de sauver dans la BDD, appliquer cette formule. Bien évidemment, le type de champs dans la BDD doit être String
Amicalement
Jessica
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 15 sept. 2006 à 18:50
Sauf que si tu demande au pékin moyen qui n'y connais rien à l'informatique, de saisir la référence 003622 qu'il a marquée sur un bout de papier, il va pas réfléchir (parce que déjà il sait pas, et puis en plus il n'est pas payer pour), il va saisir 003622.
C'est au programmeur à prévoir et à s'adapter.
PS :
Je vous assure qu'avec un peu d'expérience dans le milieu industriel, on s'appercoit vite que ces propos ne sont nullement une caricature mais bel et bien la réalité, malheureusement.
---- Sevyc64 (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
JessicaR44
Messages postés116Date d'inscriptionmardi 8 août 2006StatutMembreDernière intervention29 septembre 2013 15 sept. 2006 à 21:51
Bonsoir Casy,
Ayant également quelques années d'expérience (moi, c'est à la banque), je suis à 100% d'accord avec toi quant à cette réalité. Au moins tu en demandes à l'utilisateur et au plus tu es souple dans les zones de saisie, au mieux se portera ton programme.
L'exemple choisi aurait pu être d'introduire "000000000003622". Quid s'il a mal compté les zéros précédant les chiffres significatifs ? Et si sur son bout de papier, il a noté 3622, se disant que les zéros devant n'ont pas d'importance ? A noter également que si tu saisis 3622, 003622 ou 000000003622, le résultat sera le même une fois stocké dans ta BDD, dans un champs numérique. Et c'est à toi, le concepteur du programmeur, à savoir que la référence d'un produit s'exprime en 6 chiffres, donc à faire en sorte que la prochaine fois qu'il consultera la fiche, c'est "003622" qui s'affichera.
A+
Jessica