pb conversion separateur decimal ds mes tables access ac appli delphi

pb conversion separateur decimal ds mes tables access ac appli delphi - Programmation

Marsh Posté le 28-06-2002 à 12:06:51    

voila j ai fait une appli delphi qui se sert d une base access ...
mais qd je change de systeme numeric (fr <-> US) mes tables ne "s'update" pas tte seule !
auriez vous svp une soluce, une methode, qqchose quoi
des que je passe mon appli de CHez moi au taf ca plante ..a cause de "EOlexception 0.5 n est pas un nombre en virgule flotante correct !"
 
 :??:  
plz j ai fait bcp de forum, j ai trouve comment recuperer el separateur sous windows pr l affecte ds mon programme masi tant que ma base access se met pas a jour ca sert pas a gd chose ...
doit je faire deux bases ?  
 
(y a t il le meme probleme avec une base  sql ???)
 
d avance merci


---------------
"Douter de tout ou tout croire, ce sont les deux solutions également commodes qui l'une et l'autre nous dispensent de reflechir." Henri Poincaré.
Reply

Marsh Posté le 28-06-2002 à 12:06:51   

Reply

Marsh Posté le 28-06-2002 à 12:08:48    

normalement si tu utilises les fonctions genre StrToFloat et autres, c'est bien géré.
Idem si les nombres sont stockés comme des nombres dans la base.
Y a une variable/constante globale "DecimalSeparator" en Delphi qui contient le séparateur décimal de Windows, et que tu peux modifier pour ton programme (genre forcer le "." )


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 28-06-2002 à 12:19:32    

j ai deja mis mes champs en nombre (double) ds ma base ...
et pr le decimal separator c bon je le recupere deja ds mon appli ... c ds la base qu il chie le separateur
 
mais je voudrais que mon appli soit un minimum portable !
genre US-FR  ...
et pr cela je voudrasi savoir :  
1 - si les bases access mettent a jour les separateurs decimal ?  
et si oui a kel moment !
2 - sinon que dois je faire au lancement de mon prog pr que mes tables se mettent a jour ?
 
THX  
 
 


---------------
"Douter de tout ou tout croire, ce sont les deux solutions également commodes qui l'une et l'autre nous dispensent de reflechir." Henri Poincaré.
Reply

Marsh Posté le 28-06-2002 à 12:49:44    

les bases ont pas à se mettre à jour, c'est à Access ou ADO ou BDE ou autre à aller chercher les valeurs comme il faut.
C'est quand tu fais quelle ligne de code exactement qu'il te met l'erreur ? (ça sera peut-être plus facile parce que là c'esr assez vague)


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 28-06-2002 à 14:17:27    

alors c lorsque je change de systeme d exploitation ...
qd je passe de winXP a win2000 par exemple :
 
mes bases etaient avec des virgules de type ',' et lorsque j essaie d afficher c floatant ds une combobox en passant par un select il me dit que c pas un bon nombre a virgule floatant
mais ce sont les valeurs que je charge depuis ma table qui sont ds un format invalide suivant que ce soit un systeme US ou FR ..
 
donc je voudrasi pouvoir mettre els tables a jour suivant que ja i un systeme US ou FR ..
suis je sur la bonne voie ?
 


---------------
"Douter de tout ou tout croire, ce sont les deux solutions également commodes qui l'une et l'autre nous dispensent de reflechir." Henri Poincaré.
Reply

Marsh Posté le 28-06-2002 à 15:21:55    

je pense pas que tu doives toucher à la base
soit y a un problème avec ton SGBD, soit c'est ton code... montre deja un exemple de ligne qui crashe.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 28-06-2002 à 15:57:04    

ok je te remercie bcp antp t avais raison j ai du dupliquer une colonne de ma base pr le passer en float (il etait en text) et ca venait de la !!
merci encore pr ta patience antp  :jap:  


---------------
"Douter de tout ou tout croire, ce sont les deux solutions également commodes qui l'une et l'autre nous dispensent de reflechir." Henri Poincaré.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed