Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1645 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Surnaturel => conversion de nombres Access/VBA, incompréhensible !!!

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Surnaturel => conversion de nombres Access/VBA, incompréhensible !!!

n°447899
Yoyo@
Posté le 03-07-2003 à 17:42:36  profilanswer
 

Salut, je possède un enregistrement dans ma table qui est de type Double et qui vaut : 12.96775
 
Quand je fais un  
 

Code :
  1. MsgBox CCur(DLookup("value", "myTable", "ID=1" ))


 
Access m'affice 12.9677
 
Par contre, quand je fais  
 

Code :
  1. Dim value as Double
  2. value = 12.96775
  3. MsgBox (CCur(value))


 
La, Access m'affice 12.9678 (ce qui est la valueyr correcte d'ailleurs selon moi si on arrondit !
 
Bref, y a dequoi devenir fou !
 
Ah oui, la meilleure : si jexécute un requete en sélectionnat CCur([value]) comme champ, là, access m'affichera 12.9678, mais par contre, si j'update mon champ (requetre Update) avec Ccur([value]), alors là, Access va m'updater mon champ avec 12.9677
 
Y a t il une logique derrière tout ca?


Message édité par Yoyo@ le 03-07-2003 à 19:02:01
mood
Publicité
Posté le 03-07-2003 à 17:42:36  profilanswer
 

n°447986
Yoyo@
Posté le 03-07-2003 à 19:00:57  profilanswer
 

Alors, là, ca devient surnaturel !
 
Regadez bien cette image !
 
http://martin.lionel.free.fr/CasseTete.JPG
 
C'est le résultat de deux queries qui vont piocher dans deux tables différentes, mais contenat exactement la meme strucutre, à savoir un seul enregistrement, de type Double et contenant la valeur 12.96775.
Ces deux queries sélectionnet le premier champ en premiere colonne, et le CCur de ce meme champ en 2eme colonne...
 
Regardez, alors que la valeur de la 1ere colonne est la meme (ce qui prouve que les tables contiennet les memes valeurs), la valeur de la seconde colonne est différente !
 
Pourinfo, j'ai crée l'une des tables à la main, celle qui correspond à la table du haut, et l'autre, je l'ai généré à l'aide d'une requete Création de table a partir d'une autre grosse table, mais je ne crois pas que ca change quoi que ce soit...
 
Bref, y a de quoi se taper la tete contre les murs lol !!!
 
Vous en pensez quoi? Y des données cachées ou quoi?


Message édité par Yoyo@ le 03-07-2003 à 19:01:14
n°448122
Yoyo@
Posté le 03-07-2003 à 21:18:49  profilanswer
 

Bon je continue mes investigations, et voila ce que je trouve (mais je m'en douais un petit peu quand meme :
 
J'exécute le code :  
 

Code :
  1. MsgBox (12.96775 - DLookup("Discount", "tabInventory" ))


 
1,24344978758018E-14
 
Ce qui prouve en fait que la valeur qu'il y a dans l'enregistrement de ma table tabInventory est légerement (mais alors vraiment légèrement) inférieur à 12.96775
 
C'est vraiment vicieux comme truc ! Et ca mefait peur, car au déut, je voulais arrondir à quatre choffre apres la virgule en utilisant Fix(10000*(0.00005+[discount]))/10000 et bien entendu, ca ne donnait pas la meme valeur qu'avec un Ccur parce que Access va "arrondir" la valeur de [discount] lorsque je lui demande d'aditionner 0.00005 !
 
Bref, vraiment un truc de taré, et c'est le genre de ptit mécanism qui peut "foutre son bordel" de partout !


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Surnaturel => conversion de nombres Access/VBA, incompréhensible !!!

 

Sujets relatifs
Application Access executable.[Access] Chemin d'une variable dans un sous-formulaire
[VBA et Access] Question sur un morceau de code ![access et vba] method before upadte et cancel de l'update
Conversion de scripts SQL SERVER -> My SQLEtats sous access
Access[VBA/VB] Utilisation d'une dll - Localisation de la dll
[VBA] Access Lier formulaire et sous-formulaire 
Plus de sujets relatifs à : Surnaturel => conversion de nombres Access/VBA, incompréhensible !!!


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR