Variable

Résolu
Messages postés
75
Date d'inscription
samedi 26 juillet 2003
Statut
Membre
Dernière intervention
21 mai 2014
-
Messages postés
75
Date d'inscription
samedi 26 juillet 2003
Statut
Membre
Dernière intervention
21 mai 2014
-
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

Messages postés
189
Date d'inscription
mercredi 21 août 2002
Statut
Membre
Dernière intervention
19 janvier 2011

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.
Messages postés
116
Date d'inscription
mardi 8 août 2006
Statut
Membre
Dernière intervention
29 septembre 2013

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


 
Messages postés
75
Date d'inscription
samedi 26 juillet 2003
Statut
Membre
Dernière intervention
21 mai 2014

J'oubliais de préciser, c'est avec Visual Basic 6.

Merci
Messages postés
116
Date d'inscription
mardi 8 août 2006
Statut
Membre
Dernière intervention
29 septembre 2013

Salut,
Pourquoi obliger un utilisateur à introduire des leading zeros
Messages postés
438
Date d'inscription
samedi 24 mai 2003
Statut
Membre
Dernière intervention
23 janvier 2011
1
Salut,
Soit comme dit thephil, utilise un variable de type String ou bien Variable avec un Format
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
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 #
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
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 #
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Salut,

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

Dim lMonNombre As Long

lMonNombre = 00012345

TonChamps.Value = "'" & lMonNombre

@++
Messages postés
116
Date d'inscription
mardi 8 août 2006
Statut
Membre
Dernière intervention
29 septembre 2013

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
Messages postés
75
Date d'inscription
samedi 26 juillet 2003
Statut
Membre
Dernière intervention
21 mai 2014

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