Variable

Résolu
Goth25 Messages postés 75 Date d'inscription samedi 26 juillet 2003 Statut Membre Dernière intervention 21 mai 2014 - 15 sept. 2006 à 15:05
Goth25 Messages postés 75 Date d'inscription samedi 26 juillet 2003 Statut Membre Dernière intervention 21 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 ?

Merci bcp

Jim

10 réponses

cs_thephil Messages postés 189 Date d'inscription mercredi 21 août 2002 Statut Membre Dernière intervention 19 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.
3
JessicaR44 Messages postés 116 Date d'inscription mardi 8 août 2006 Statut Membre Dernière intervention 29 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


 
3
Goth25 Messages postés 75 Date d'inscription samedi 26 juillet 2003 Statut Membre Dernière intervention 21 mai 2014
15 sept. 2006 à 15:10
J'oubliais de préciser, c'est avec Visual Basic 6.

Merci
0
JessicaR44 Messages postés 116 Date d'inscription mardi 8 août 2006 Statut Membre Dernière intervention 29 septembre 2013
15 sept. 2006 à 16:09
Salut,
Pourquoi obliger un utilisateur à introduire des leading zeros
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
scottmat Messages postés 438 Date d'inscription samedi 24 mai 2003 Statut Membre Dernière intervention 23 janvier 2011 1
15 sept. 2006 à 16:53
Salut,
Soit comme dit thephil, utilise un variable de type String ou bien Variable avec un Format
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
15 sept. 2006 à 18:06
JessicaR44 --> Référence de produit par exemple éventuellement lue par code barre

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
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 #
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
15 sept. 2006 à 19:38
Salut,

une simple quote pourrait (peut-être) suffir comme dans excel, à voir :

Dim lMonNombre As Long

lMonNombre = 00012345

TonChamps.Value = "'" & lMonNombre

@++
0
JessicaR44 Messages postés 116 Date d'inscription mardi 8 août 2006 Statut Membre Dernière intervention 29 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
0
Goth25 Messages postés 75 Date d'inscription samedi 26 juillet 2003 Statut Membre Dernière intervention 21 mai 2014
16 sept. 2006 à 00:08
Je vous remercie a tous de m'avoir si bien répondu et je suis aussi d'accord que sa doit se gérer par programmation.

Merci encore

Jim
0
Rejoignez-nous