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

Requêtes et SQL. Discussion :

Système numérique franco-belge


Sujet :

Requêtes et SQL.

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 125
    Points : 80
    Points
    80
    Par défaut Système numérique franco-belge
    Bonjour à tous,

    Je travail sur 2 PC à la fois. Un français et un belge. Les nombres sont traités différemment

    1 000,00 est une valeur numérique en France et une chaîne de caractères en Belgique.
    1.000,00 est une chaîne de caractères en France et une valeur numérique en Belgique.

    En Excel il existe une formule très simple pour palier à ce problème : NUMBERVALUE() / VALEURNOMBRE()

    NUMBERVALUE (1 000,00) ou NUMBERVALUE (1.000,00) est une valeur numérique dans les deux pays.

    Existe-t-il l'équivalent pour les queries ?
    Je veux en fait que quelque soit le séparateur des milliers la valeur doit être 1000,00

    Merci pour votre aide,

    Philippe

  2. #2
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonsoir,
    Access n'est pas un tableur donc un montant dans le champ d'une table sera toujours numérique et toujours sans séparateur de milliers.
    Un format ne change pas la valeur d'origine d'un champ mais il faut tenir compte de deux choses pour les variables et les champ calculés:
    - les paramètres régionaux Windows
    - il faut savoir que dans VBA le séparateur de décimales est toujours le point, comme le format de la date est toujours le format US (MM/DD/YYYY)

    Les problèmes surviennent dès que l'on formate un nombre et que l'on veut le manipuler formaté car, dans ce cas, on ne travaille plus avec du numérique mais avec du texte.

    Le mieux serait de montrer un exemple concret de ton problème (d'où viennent les montants: tables ou Access ou externes, comment sont-ils manipulés, dans quel environnement: SQL, VBA formulaire ou état ...)
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 125
    Points : 80
    Points
    80
    Par défaut
    Exemple demandé par mon ami tee-grandbois :

    Sur un PC belge lorsqu'on lie une table Excel au programme Access le problème n'existe pas.
    • Fichier Excel : 1.000,00 (valeur numérique avec un point dû aux options du PC)
    • Fichier Access (liaison) : 1000,00 (valeur numérique)

    Problème sur le PC français avec le même fichier Excel.
    • Fichier Excel : 1 000,00 (valeur numérique avec un espace dû aux options du PC)
    • Fichier Access (liaison) : "1 000,00" (chaîne de caractères)

    Ce problème intervient lorsqu'on réexporte en VBA les valeurs de Access vers un fichier Excel :
    DoCmd.OutputTo acOutputQuery, "query reprenant les valeurs de la table liée", acFormatXLSX, "nouveau fichier Excel"

    Résultat belge :
    Total
    500,00
    1000,00
    1500,00

    Résultat français :
    Total
    500,00
    1 000,00
    1 500,00


    Vous allez me dire de paramétrer les deux PC de la même façon. Malheureusement, le programme résultant doit être utilisé par de nombreux utilisateurs en France et en Belgique. Il est impossible de demander à la France de s'aligner sur les normes internationales utilisées en Belgique. Ils risquent des problèmes avec leurs programmes locaux.

    D'où une solution : ajouter une formule du style "NUMBERVALUE()" dans le query. Mais quelle formule ???

  4. #4
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonsoir,
    le problème c'est lorsqu'on oublie des informations importantes:
    Sur un PC belge lorsqu'on lie une table Excel au programme Access le problème n'existe pas.
    nulle part il est mentionné dans le premier post qu'il s'agit d'un classeur Excel lié et je répond donc par rapport aux tables Access natives ...
    Donc des champs numériques formatés issus d'un tableur sera vu comme du texte depuis Access et si le format du fichier ne correspond pas aux paramètres régionaux, il y aura toujours un problème de conversion.
    Cela dit, si c'est dans une requête tu peux toujours utiliser CDbl() qui est un peu l'équivalent de NUMBERVALUE()
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

Discussions similaires

  1. Réponses: 1
    Dernier message: 06/01/2014, 14h44
  2. [XL-2003] Formule excel pour une grande liste de saisies
    Par lacassine dans le forum Excel
    Réponses: 5
    Dernier message: 26/01/2013, 18h18
  3. Utilisation de Soundex pour une query
    Par SergioMaster dans le forum Bases de données
    Réponses: 9
    Dernier message: 24/10/2012, 17h17
  4. [AC-2000] Equivalent de =Rang( d'excel pour access ?
    Par jadaxeth dans le forum Access
    Réponses: 3
    Dernier message: 28/04/2009, 22h14
  5. Excel pour une simulation de nombres ?
    Par Joubarbe dans le forum Excel
    Réponses: 2
    Dernier message: 13/07/2008, 21h03

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