Format de donnee entre mshflexgrid et access 2002 (XP)

cs_louak Messages postés 7 Date d'inscription mercredi 26 juin 2002 Statut Membre Dernière intervention 28 août 2002 - 22 août 2002 à 11:03
lherderien Messages postés 6 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 28 juillet 2005 - 10 mars 2004 à 17:29
Bonjour a tous,

alors voila mon probleme : avec un mshflexgrid, j'affiche des donnees numeriques provenant d'une base acces par l'intermediaire d'un datasource (adodc). Dans ma base j'ai des donnees au format numerique reel double avec decimales auto. Dans mon appli vb je me debrouille pour mettre des nombre avec seulement 2 decimales dans la base, ce qui marche tres bien. Le truc c'est que quand j'affiche les donnees d'access dans le mshflexgrid, il m'affiche un nombre approche et me met plein de chiffres apres la virgule.

Ex :
34.80 dans mon appli VB deviens 34.80 dans acces --> pas de probleme
Mais 34.80 dans access devient 34,799999999993 dans mon mshflexgrid (dans mon appli vb) --> pas cool

Je ne sais pas pourkoi il fait ces approximations et je ne sais pas comment resoudre cela... Toute idee est la bienvenue
Merci d'avance

Loïc
"Quand le monde te persécute, tu te dois de persecuter le monde - Le Roi Lion"
"Vas-y mollo quand même"

8 réponses

cs_NuNu Messages postés 100 Date d'inscription mercredi 29 mai 2002 Statut Membre Dernière intervention 27 juillet 2004
22 août 2002 à 13:30
ça a l'air bizarre comme ça...

Ce que tu lis à partir de la bdd, avant de l'afficher formate-le pour voir s'il t'affiche 34.80 ou 34.79 ou autre. (point ou virgule ????)

càd FORMAT(MaValeurLue, "0.00")

Bon courage et "Donne des nouvelles".

NuNu.
0
cs_louak Messages postés 7 Date d'inscription mercredi 26 juin 2002 Statut Membre Dernière intervention 28 août 2002
22 août 2002 à 15:01
Merci NuNu
J'ai effectue les tests que tu m'as dis. J'ai affiche ma valeur telle quelle sans format, puis je l'ai affichee avec format et je les ai compare avec celle de ma mshflexgrid
resultat : ma valeur est 57.78 dans ma base
la premiere msgbox affiche 57.78 --> correct
la seconde 57.78 --> correct
et dans ma mshflexgrid : 57.78000000001 --> GRRRR

Voila je ne sais toujours pas pourquoi il me met tous ces chiffres apres la virgule.

J'ai pense a un probleme de compatibilite de type. Je m'explique : je pense que le type "numerique reel double " d'access est mal interprete par VB ... et il me rajoute ces chiffres... je ne sais pourquoi.

Voila, j'ai essaye de changer le type en passant a decimal (sous access) , mais ce coup ci je n'ai pas reussi a trouver un type de variable compatible sous vb.. il me disait "type incompatible" au moment de l'update du recordset

Voila, je commence a deprimer .. non je rigole.. mais ca fait pas mal de temps que je suis sur ce truc. et ca m'ennerve GRRRR

Voila, merci pour les idees futures
Ciao

Loïc
"Quand le monde te persécute, tu te dois de persécuter le monde - Le Roi Lion"
"Vas-y mollo quand même"
0
cs_NuNu Messages postés 100 Date d'inscription mercredi 29 mai 2002 Statut Membre Dernière intervention 27 juillet 2004
22 août 2002 à 15:23
Celà voudrait dire, si je comprends bien, que tu lis correctement (valeur affichée ds msgbox=valeur ds bdd), mais cette même valeur est mal affichée ds ton mshflexgrid.

Essais peut-être de l'afficher ds un textbox par ex et si c'est correct, il faudrait voir ce qu'il a le mshflexgrid.

NuNu.
0
cs_louak Messages postés 7 Date d'inscription mercredi 26 juin 2002 Statut Membre Dernière intervention 28 août 2002
22 août 2002 à 15:43
oui c'est ca.
AHAH !! je viens de mettre ma valeur dans un textbox et elle est bonne.. il ne me met pas tous ces chiffres apres la virgule...le probleme viendrait donc du mshflexgrid.
Mais qu'est-ce que ca peut bien etre ?!!?
Je continue les recherches ... merci NuNu... ca aide d'avoir un avis exterieur ;)

Loïc
"Quand le monde te persécute, tu te dois de persécuter le monde - Le Roi Lion"
"Vas-y mollo quand même"
0

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

Posez votre question
MysTiK74 Messages postés 32 Date d'inscription vendredi 23 août 2002 Statut Membre Dernière intervention 7 mars 2003
23 août 2002 à 22:54
Adieu p'tit

c normal la valeur dans ta base et le résulat d'un calcul et access ne t'affiche que ce qu'il veut donc si tu peux corriger la bd fait le sinon utilise des arrondis avec Format et autres pour la recuperation

Arvi pa..
0
cs_louak Messages postés 7 Date d'inscription mercredi 26 juin 2002 Statut Membre Dernière intervention 28 août 2002
28 août 2002 à 15:12
Recherches infructueuse .. Heeelllppppp !!

Loïc
"Quand le monde te persécute, tu te dois de persécuter le monde - Le Roi Lion"
"Vas-y mollo quand même"
0
cs_dod1 Messages postés 4 Date d'inscription vendredi 21 juin 2002 Statut Membre Dernière intervention 19 février 2004
12 févr. 2004 à 18:47
dod1

salut,

a tu régler le pb de format sur mshflexgrid avec les virgules.

Puisque moi j'ai le même pb.

Merci pour la réponse

ludo
0
lherderien Messages postés 6 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 28 juillet 2005
10 mars 2004 à 17:29
Moi aussi j'ai le même problème sauf que c'est avec SQL Server et ça fais 2 jours que je passe la dessus!!! :-(

Quelqu'un aurait il un bout de réponse???

Merci d'avance!!! :sad)
0
Rejoignez-nous