IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

[VB6]Problème avec les Nombres de ma BD


Sujet :

VB 6 et antérieur

  1. #1
    Membre régulier Avatar de jfdmagic
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    181
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 181
    Points : 124
    Points
    124
    Par défaut [VB6]Problème avec les Nombres de ma BD
    bonjour à tous :

    j'ai un problème avec mes nombres dans ma base de données : lorsque je veux charger ou enregistrer des données de type numérique, mes virgules passent à la trappe, ce qui est très génant !

    j'ai essayé de changer les propriétés dans ma base (réel long...etc !) : rien n'y fait !

    Si vous avez une solution... et c'est plutôt urgent ! une poisse de dernière minute alors que tout fonctionnait bien !

    Merci d'avance !

    jfdmagic

    PS : je ne peux pas passer en mode texte car j'ai besoin de vérifier si jmes nombres sont inférieurs ou supérieurs à une somme dans certaines de mes requêtes
    Pourquoi faire simple lorsqu'on peut faire compliqué ?

    "Pensez-vous que l'ignorance et l'indifférence sont les plus grands maux de l'humanité ?
    - Je ne sais pas et je m'en moque !"



    Pensez à l'icône

    Pour télécharger MSDN, cliquez ici

  2. #2
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    Ben sans le code, c'est un peu à la boule de cristal qu'il faut se fier et la mienne n'est toujours pas rentrée de réparation.
    Vois déjà si le reglage widows du point déimal n'influe pas sur le résultat (panneau de configuration windows/options regionales et linguistiques/bouton personaliser/Symbole décimal)
    En général, on ne demande de conseils que pour ne pas les suivre ou, si on les a suivis, reprocher à quelqu'un de les avoir donnés
    (ALEXANDRE DUMAS)

    N'hésitez pas à visiter ma page de contributions

  3. #3
    Membre régulier Avatar de jfdmagic
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    181
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 181
    Points : 124
    Points
    124
    Par défaut
    le code ne va rien t'apporter....

    j'importe des données de ma base et je les enregistre, c'est tout.

    non, le problème vient de la configuration des propriétés de ma base qui ne sont pas pris en compte ou des options régional : mais c'est chiant : ce genre de choses, ça ne doit dépendre du PC hôte...

    Edit : ça ne vient pas des options régional, je viens de vérifier et quand bien même : "20,00" ça s'écrit "20,00" partout; non ?
    Pourquoi faire simple lorsqu'on peut faire compliqué ?

    "Pensez-vous que l'ignorance et l'indifférence sont les plus grands maux de l'humanité ?
    - Je ne sais pas et je m'en moque !"



    Pensez à l'icône

    Pour télécharger MSDN, cliquez ici

  4. #4
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    Quel séparateur de décimale est défini sous WIndows le "." ou la "," ?
    Y a t'il un séparateur de millier défini sous Windows ?
    Pour VB6 : N'oubliez pas d'aller voir la FAQ et les Tutoriels
    Vous trouvez une reponse particulierement utile ? Votez pour !

  5. #5
    Membre régulier Avatar de jfdmagic
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    181
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 181
    Points : 124
    Points
    124
    Par défaut
    il y a un séparateur de millier et le symbole de décimale est la virgule ","

    en gros, je fais ça :

    'blabla, je me connecte...'
    j'ajoute ou je modifie des données qui proviennent d'une zone de texte dont la zone "salaire" où je bloque les caractères sauf la virgule
    'blabla, j'update'

    ensuite, je veux charger mes données pour les modifier par ex et ma virgule précédemment entrée, n'est plus là.
    Pourquoi faire simple lorsqu'on peut faire compliqué ?

    "Pensez-vous que l'ignorance et l'indifférence sont les plus grands maux de l'humanité ?
    - Je ne sais pas et je m'en moque !"



    Pensez à l'icône

    Pour télécharger MSDN, cliquez ici

  6. #6
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    A tout hasard, si tu mets un point décimal au lieu d'une virgule, ça donne quoi ?
    Pour VB6 : N'oubliez pas d'aller voir la FAQ et les Tutoriels
    Vous trouvez une reponse particulierement utile ? Votez pour !

  7. #7
    Membre régulier Avatar de jfdmagic
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    181
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 181
    Points : 124
    Points
    124
    Par défaut
    tu vas rire : une virgule (si!)
    Pourquoi faire simple lorsqu'on peut faire compliqué ?

    "Pensez-vous que l'ignorance et l'indifférence sont les plus grands maux de l'humanité ?
    - Je ne sais pas et je m'en moque !"



    Pensez à l'icône

    Pour télécharger MSDN, cliquez ici

  8. #8
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut
    Citation Envoyé par jfdmagic Voir le message
    j'ajoute ou je modifie des données qui proviennent d'une zone de texte dont la zone "salaire" où je bloque les caractères sauf la virgule
    je pressens bien que ce qui a été dit précédemment est la bonne piste
    Citation Envoyé par jfdmagic Voir le message
    'blabla, j'update'
    Comment ?

    un Replace(blabla.Text, ",", ".") ne ferait-il pas l'affaire ?

    d'ou le code demandé par Delbeke ...

    Gag assez connu des formats numériques !!
    Vous vous posez une question, la réponse est peut-être ici :
    Toutes les FAQs VB
    Les Cours et Tutoriels VB6/VBScript
    Les Sources VB6


    Je ne réponds pas aux questions techniques par MP. Utilisez les forums. Merci de votre compréhension

  9. #9
    Membre régulier Avatar de jfdmagic
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    181
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 181
    Points : 124
    Points
    124
    Par défaut


    je te remercie de ta réponse thierry et je vais voir ce que cela donne....

    Je suis débutant, ce qui explique parfois mon ignorance de certaines choses

    Soit, je ne connais pas ou bien je n'y pense pas...

    pour le moment, je travaille avec des entier pour ne pas bloquer l'application

    Je vous tiens au courant.

    Merci pour votre aide

    =)
    Pourquoi faire simple lorsqu'on peut faire compliqué ?

    "Pensez-vous que l'ignorance et l'indifférence sont les plus grands maux de l'humanité ?
    - Je ne sais pas et je m'en moque !"



    Pensez à l'icône

    Pour télécharger MSDN, cliquez ici

  10. #10
    Membre éclairé
    Inscrit en
    Décembre 2007
    Messages
    512
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 512
    Points : 671
    Points
    671
    Par défaut
    Bonjour jfdmagic,

    L'ennui si on fait un replace est que VB dans la variable numérique
    va remplacer le point par une virgule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
        Dim calc As Currency
        Dim nomb As String
                            'valeurs rendues par la variable 
        nomb = "256,84"
        calc = 256.84                  ' 256,84
        calc = nomb                    ' 256,84
        calc = Val(nomb)               '   256   
        'la virgule est ici considérée comme caractère non numérique
        'de même que calc=val(0,86) donnerait comme valeur: 0
        nomb = "256,84"
        nomb = Replace(nomb, ",", ".") ' "256.84"
        calc = Val(nomb)               ' 256,84    change le point en virgule
        nomb = Str(calc)               ' "256.84"  change la virgule en point
        nomb = CStr(calc)              ' "256,84"
        'mais
        nomb = Str(calc)               ' "256.84"  change la virgule en point
        'et provoque
        calc = CCur(nomb)             ' erreur type incompatible

    pour le moment, je travaille avec des entiers pour ne pas bloquer l'application

    ...j'ajoute ou je modifie des données qui proviennent d'une zone de texte dont la zone "salaire"
    Et pourquoi pas pour éviter tous les problèmes avec le point et la virgule ne pas continuer de travailler avec des entiers.
    Si le nombre de décimales est connu (puisque zone salaire),il suffit de multiplier par 100 tous les nombres
    et à l'affichage de faire l'inverse (:100) par exemple pour avoir le nombre avec une virgule

    ...j'ai besoin de vérifier si mes nombres (X100) sont inférieurs ou supérieurs à une somme (X 100) dans certaines de mes requêtes
    A+

Discussions similaires

  1. problème avec les nombres distincts
    Par peacee dans le forum Débuter
    Réponses: 10
    Dernier message: 02/04/2012, 22h18
  2. problème avec les nombres décimaux
    Par pierrot10 dans le forum Langage
    Réponses: 2
    Dernier message: 07/02/2008, 10h09
  3. Problème avec les nombres à virgule
    Par Lapicure dans le forum Modélisation
    Réponses: 5
    Dernier message: 01/06/2007, 15h37
  4. [débutant] problème avec les nombres aléatoires
    Par happylife925 dans le forum Débuter
    Réponses: 12
    Dernier message: 10/03/2006, 15h47
  5. problème avec les nombres à virgule
    Par shingo dans le forum Langage
    Réponses: 3
    Dernier message: 16/01/2006, 18h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo