|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : octobre 2005 Messages : 304 ![]() |
Bonjour,je fais une appli qui travaille avec des fichiers excel qui contiennent des données numériques décimales.
Sur mon poste tout se passe bien l'appli fonctionne, par contre je l'ai testé sur un autre poste et la ça plante sur une requete à cause de la virgule dans le chiffre. Explication, sur mon poste les options de configuration font que les chiffres s'affichent avec un point (la pas de probleme). Sur le poste qui pose probleme les chiffres s'affichent avec une virgule et la requete considère que c'est la fin d'un champs donc ça plante.... Qu'est ce que je dois faire ? je ne vais pas demander aux utilisateurs de changer leur options d'affichage des chiffres ? Donc je sais pas trop. Merci de votre aide. |
|
|
00
|
|
|
#2 |
![]() ![]() Maintenance données produits Inscription : décembre 2005 Messages : 3 939 ![]() |
Bonjour,
En SQL le séparateur décimal est le point. J'utilise la fonction VBA Str pour convertir les nombres à virgules, en chaînes de caractères. Str converti en mettant un point comme séparateur décimal. A+ |
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Inscription : octobre 2005 Messages : 304 ![]() |
Bonjour, merci pour ta réponse. Ce qui me semble louche c'est qu'on converti un chiffre en cahine de caractere alors que dans la table ce chiffre va dans un champs de type numérique, ça pose pas de problème ? Je suppose que non puisque tu me le dis.
|
|
|
00
|
|
|
#4 | |
![]() ![]() Maintenance données produits Inscription : décembre 2005 Messages : 3 939 ![]() |
Bonjour,
Citation:
Une requête est une instruction SQL, et cette instruction est du texte. Comme en VBA, il y a des conventions pour typer les valeurs : Le point comme séparateur décimal pour les valeurs numériques. Les dates encadrées par des dièses (#) et au format mois/jour/année. Les chaînes de caractères encadrées par des guillemets doubles ou simples. True/False ou -1/0 pour les valeurs booléennes. A+ |
|
|
|
00
|
|
|
#5 | |||||||
|
Membre du Club
![]() Inscription : octobre 2005 Messages : 304 ![]() |
Citation:
exemple : Code :
Code :
Code :
Merci |
|||||||
|
|
00
|
|
|
#6 | |
![]() ![]() Maintenance données produits Inscription : décembre 2005 Messages : 3 939 ![]() |
Bonjour,
Citation:
D'ailleurs ta variable sql est typée texte (type String). Tu peux faire l'essai sur un PC configuré avec la virgule comme séparateur décimal. Tu crée ta requête avec Access avec une valeur numérique 123,456. Puis tu changes le mode d'affichage en mode SQL. Tu verra que dans l'instruction SQL (qui est du texte) la virgule est remplacée par un point (123.456). Tu changes à nouveau le mode d'affichage en mode création. La virgule est toujours là (123,456). A+ |
|
|
|
00
|
|
|
#7 | |
|
Membre du Club
![]() Inscription : octobre 2005 Messages : 304 ![]() |
Citation:
Merci |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com