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

Access Discussion :

problème de virgule dans une chaîne de caractères


Sujet :

Access

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2005
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 9
    Points : 6
    Points
    6
    Par défaut problème de virgule dans une chaîne de caractères
    Bonjour à tous,

    Voici mon problème, je dois transformer une valeur qui peut comprendre 2 décimales en une chaîne de huit caractères.
    Cette chaîne n'accepte pas la virgule.
    ex : 168,12 => 00016812

    Les '0' représentent les espaces vide.

    dans ma requête, je m'y suis pris de cette façon :
    i: StrReverse(ExtracChaîne$(ExtracChaîne$((StrReverse(("00000000" & [prix])));1;2) & ExtracChaîne$((StrReverse(("00000000" & [prix])));4;11);1;9))
    le problème est qu'il n'y à pas toujours 2 décimales, et après transformation, le champ doit être rigoureusement formaté de cette façon.
    J'ai cherché à obtenir la position de la virgule mais sans résulta.

    Y a-t-il qq dans la salle qui pourait me dire que faire tout en restant dans ce shémat de requête.

    Merci.

  2. #2
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Un truc comme ça ?

    Dim n As String
    n = "168,20"
    MsgBox Format(Replace(n, ",", ""), "00000000")

  3. #3
    Futur Membre du Club
    Inscrit en
    Mars 2005
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    oui, un truc comme ça ...
    mais dans une requête ????

  4. #4
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Pareil

    SELECT Format(Replace(monChamp, ",", ""), "00000000") FROM MaTable

  5. #5
    Futur Membre du Club
    Inscrit en
    Mars 2005
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Je vais essayer, merci

  6. #6
    Futur Membre du Club
    Inscrit en
    Mars 2005
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Désolé, ça ne donne pas le résultat recherché.

    En fait, le champ 'Prix' peut avoir 0,1 ou 2 décimales.
    Je pense pouvoir y arriver en extrayant les 0,1 ou 2 décimales de la chaîne, le tout est de connaître la position de la virgule.
    Y a-t-il une fonction qui me donnerait la position de cette virgule et d'intégrer cette fonction dans une fonction 'mid()' ?

    Merci.

  7. #7
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 386
    Points : 19 809
    Points
    19 809
    Billets dans le blog
    66
    Par défaut
    Salut,

    la fonction: InStr(Machaine,",")

    @+

  8. #8
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    il y a aussi ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT Format(MonChamp * 100, "00000000") FROM MaTable

  9. #9
    Futur Membre du Club
    Inscrit en
    Mars 2005
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Super, ça marche,

    les solutions les plus simples sont souvent les meilleures.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. enlever la virgule dans une zone numérique
    Par davidzerbib dans le forum Access
    Réponses: 2
    Dernier message: 06/03/2007, 12h05
  2. probleme virgule dans une ListBox avec stringht
    Par yomane 51 dans le forum Delphi
    Réponses: 1
    Dernier message: 10/01/2007, 17h47
  3. Autoriser la saisie des virgules dans une zone de texte
    Par griese dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 10/07/2006, 11h19
  4. problème de zero apres la virgule dans une table
    Par mosca_coroneja dans le forum Outils
    Réponses: 11
    Dernier message: 08/04/2006, 21h57
  5. interdire virgule, .. dans une zone de texte
    Par EE dans le forum Access
    Réponses: 4
    Dernier message: 05/01/2006, 09h11

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