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 :

Mise en forme de l'affichage des données dans une liste de choix déroulante [AC-2010]


Sujet :

Requêtes et SQL.

  1. #1
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2008
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2008
    Messages : 102
    Points : 78
    Points
    78
    Par défaut Mise en forme de l'affichage des données dans une liste de choix déroulante
    bonjour

    voila je doit travailler sous access 2010 et ayant des bonnes connaissances en MS-SQL je pensai que cela ne me poserai pas trop de problèmes.
    Grosse Erreur lol

    voila donc un exposer sommaire du contexte et du problème :
    je dispose de 3 tables avec 6 champs (elles sont toutes de structure identiques)
    1 : ID -> incrément automatique et clé primaire de la table
    2 : Désignation -> format texte
    3 : Prix d'achat -> format monétaire avec affichage à 2 décimales
    4 : Quantité -> format numérique entier simple sans décimale
    5 : Prix d'achat unitaire -> champ calculé (Prix d'achat / Quantité) type de donnée monétaire avec affichage à 3 décimales
    6 : Prix de vente unitaire -> champ calculé (Prix d'achat unitaire * 3) type de donnée monétaire avec affichage à 3 décimales

    je crée une requête union afin de sortir dans une table les données qui m'intéresse
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    SELECT Table1.Désignation, Table1.[prix de vente unitaire]
    FROM Table1
    UNION
    SELECT Table2.Désignation, Table2.[prix de vente unitaire]
    FROM Table2
    UNION
    SELECT Table3.Désignation, Table3.[prix de vente unitaire]
    FROM Table3
    mon souci est dans la table résultante le format d'affichage de la colonne prix de vente unitaire et monétaire avec affichage à 2 décimales arrondi au supérieur.
    Or j'ai pour nécessité d'affiché au format monétaire avec affichage sur 3 décimales
    Existe-t-il une commande dans la requête afin de mettre en forme la donnée pour quelle s'affiche correctement ?

    merci de votre aide

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2010
    Messages
    385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 385
    Points : 492
    Points
    492
    Par défaut
    Bonjour ,

    Par défaut un champ "monétaire" est en décimal Auto.
    Et le format monétaire est comme ceci : 3456,79.
    Tu fait un clique Droite sur ta Table résultante , tu va sur le nom de ton champs monétaire , et dans le panel en bas , tu choisi : "Décimal : 3"
    (ou plus ... tu peu allez jusque 15 décimales )


    Cordialement à toi ,
    Si ma réponse ou ma question vous semble pertinente un clique sur le pouce vert.
    La base des Expression Access à Connaitre : http://office.microsoft.com/fr-ca/ac...295.aspx?CTT=3
    Un livre de chevet parfait : "Développement Android": http://www.editions-eyrolles.com/Livre/9782212125870/

  3. #3
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2008
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2008
    Messages : 102
    Points : 78
    Points
    78
    Par défaut
    merci pour ta réponse rapide.

    est-ce que cette configuration est gardé après.

    Je m'explique, je veut utilisé cette requête pour faire dans une autre table, un champ en liste de choix déroulante qui m'affiche les champs sélectionné (j'utilise pour cela l'assistant de création de liste de choix) afin d'afficher dans le champs la désignation et de stoqué la valeur du prix de vente. et c'est la que le problème se fait sentir. le fonctionnement de ma liste de choix est correct, il affiche bien les 2 champs quand je veut sélectionner une valeur mais le format monétaire et comme tu la citer 3456,55 € et je voudrai que dans la liste déroulante il affiche 3 décimales. d'où la question de savoir si je peu formater l'affichage dans le requête.

    cordialement

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2010
    Messages
    385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 385
    Points : 492
    Points
    492
    Par défaut
    Les requêtes sont basée sur les tables ,

    L'édition de la table en "Décimal 3" , est une configuration qui es ensuite reprise dès que tu reprend le champs ailleurs , la Table est la source.

    Exemple (Bateau je sais) : Si ta source dit "Bleu" , quand tu appellera le champs de ta source il te répondra toujours "Bleu".

    Quand dans ta requête tu appellera
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT Colonne_Monnaie FROM SuperTable
    il va te prendre toute les valeur de ta colonne avec la formalisation que tu aura choisi donc "Décimal 3" .


    Cordialement ,
    Si ma réponse ou ma question vous semble pertinente un clique sur le pouce vert.
    La base des Expression Access à Connaitre : http://office.microsoft.com/fr-ca/ac...295.aspx?CTT=3
    Un livre de chevet parfait : "Développement Android": http://www.editions-eyrolles.com/Livre/9782212125870/

  5. #5
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2008
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2008
    Messages : 102
    Points : 78
    Points
    78
    Par défaut
    c'est aussi se que je pensai mais voila access a décidé de me mener la vie dur.

    dans mes 3 tables, table1, table2 et table3 le champ "prix de vente" qui est un champ calculé et bien au format monétaire à 3 décimal et lors de ma requête se bougre a décidé de m'en afficher que 2.
    que l'on soit bien d'accord "Théoriquement" si je définit les 3 champs des 3 tables au même format, si je crée un requête union sur ces 3 tables en voulant la valeur du dit champs, la requête et sensée prendre le format définit des champs et affiché les valeur dans le même format que les champs des tables mère ?

    il y a donc bien quelque chose qui ne va pas quelque part mais quoi ? pour le moment j'en sais fichtre rien.

    je vais faire des test cette après-midi (je suis au boulot la ) et voir de quoi il en retourne

    merci de ton temps et de ton aide

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2010
    Messages
    385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 385
    Points : 492
    Points
    492
    Par défaut
    D'accord dans ce cas la , essaye de faire :

    NUMERIC (9,3)

    9 = le nombre total que tu veux ici ton chiffre sera au max de : 123456789
    3 = Nombre de décimal voulu donc la somme des deux te donnera : 12345.789


    Après pour la syntaxe Je te laisse faire la correction , mais il me semble que cela donne une chose comme cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT Champ_calculer As NUMERIC(9,3) As ChpCalcul FROM Table1
    As NUMERIC : Défini le format ,
    As ChpCalcul : définira un alias si tu as besoin


    (Une source pour l'explication plus théorique de la commande : http://msdn.microsoft.com/fr-fr/library/ms187746.aspx )

    Cordialement ,
    Si ma réponse ou ma question vous semble pertinente un clique sur le pouce vert.
    La base des Expression Access à Connaitre : http://office.microsoft.com/fr-ca/ac...295.aspx?CTT=3
    Un livre de chevet parfait : "Développement Android": http://www.editions-eyrolles.com/Livre/9782212125870/

  7. #7
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2008
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2008
    Messages : 102
    Points : 78
    Points
    78
    Par défaut
    bon ben ce ne fonctionne toujours pas, access n'accepte pas les mots clé "As" et "Numeric" ou "Décimal", il n'accepte "as" que pour désigner un alias.
    Faudra que je cherche autre chose voir si vraiment il est possible de mettre en forme les liste déroulante.

    j'ai maintenant un autre problème

    en aillant refait la structure de ma base de donnée celle ci est la suivante
    5 tables donc 4 de base servant au relation avec la 5eme
    la 4 tables de base on la même structure
    1 champ Id en numérotation automatique et étant la clé primaire de la table
    1 champ nom en texte étant un description

    dans la 5eme table
    champ 1 : Id, numérotation automatique -> identifiant
    champ 2 : Liste déroulante lié a la table 1
    champ 3 : Liste déroulante lié a la table 2
    champ 4 : Liste déroulante lié a la table 3
    champ 5 : Liste déroulante lié à la table 4
    champ 6 : champ calculé
    champ 7 : champ calculé

    voila mon problème
    j'ai crée une 6eme tables
    le champ 1 et un id, jusqu'à la pas de pb
    le champ 2 est une liste déroulante avec une requête select sur les champ 3 a 6 de la table 5.
    je lui demande de m'afficher les 4 colonnes et c'est la qu'est le hic, pour la 4eme qui correspond au champ calculé aucun pb, j'ai bien la valeur attendu mais pour les 3 autres au lieu de m'afficher la valeur texte attendu il m'affiche l'id en numérique (quelque peu logique vu que c'est l'id la clé primaire)
    est-il donc possible d'afficher la valeur du champ texte et nom l'id (pas la clé primaire quoi)

    merci d'avance

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2010
    Messages
    385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 385
    Points : 492
    Points
    492
    Par défaut
    Je viens de faire une petite recherche et je suis tomber sur un article de blog sur developpez qui indique que SQL prendrais plutôt l'écriture : DEC(p,s)

    je te joint le lien pour que tu essaye : http://blog.developpez.com/ylarvor/p...-p-s-ou-decim/

    Sinon fait une copie de ta base et teste en faisais un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT CAST(Champ_calculer As NUMERIC(9,3)) As ChpCalcul FROM Table1
    La fonction Cast sert normalement a la conversion de type de donnée ... mais peu être que cela marchera ...

    Sinon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    DECLARE @ Champ_calculer DECIMAL(9,3)
     
    SELECT @ Champ_calculer  As ChpCalcul FROM Table1
    Déclarée le type avant pourrais être aussi judicieux ...


    Je pense que la devrais être bon !


    Par contre pour ton nouveau problème = nouveau topic ! Ce sera plus clair , et je pense que un exemple sera aussi le bienvenu ... je suis à nouveau dans le flou dans ton explication !


    Cordialement ,
    Si ma réponse ou ma question vous semble pertinente un clique sur le pouce vert.
    La base des Expression Access à Connaitre : http://office.microsoft.com/fr-ca/ac...295.aspx?CTT=3
    Un livre de chevet parfait : "Développement Android": http://www.editions-eyrolles.com/Livre/9782212125870/

  9. #9
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2008
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2008
    Messages : 102
    Points : 78
    Points
    78
    Par défaut
    merci bien misters, je testerai tout ca demain, ya des chance que ca marche ( je reste positif hein )

    sinon tu a raison pour le nouveau souci je vais faire un nouveau topic

    encore merci a toi pour ton temps et ton aide

  10. #10
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2008
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2008
    Messages : 102
    Points : 78
    Points
    78
    Par défaut
    Bon voila problème résolu

    voila comment il faut déclarer une requête pour formater l'affichage dans une liste de choix multiple, du-moins pour le nombre de digit a afficher pour le format monétaire.

    Il faut utilisé la fonction FormatCurrency

    et voila le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT FormatCurrency(Table.ChampMoney,3,-1,0,-1) As Prix
    FROM Table
    (Je vous laisse regardé a quoi corresponde les valeurs 0 3 et -1 dans la fonction)

    du coup dans la liste déroulante ca affiche bien le prix avec 3 digit après la virgule

    Donc voila R.E.S.O.L.U.

    merci encore

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

Discussions similaires

  1. Affichage des données dans une LISTE dans projet GWT
    Par sino100100 dans le forum GWT et Vaadin
    Réponses: 0
    Dernier message: 27/04/2009, 19h03
  2. affichage des donnes dans une datagridview
    Par daloul dans le forum VB.NET
    Réponses: 1
    Dernier message: 25/04/2008, 08h04
  3. Réponses: 4
    Dernier message: 24/10/2007, 10h43
  4. limite de l'affichage des donnés dans une Bdgrid
    Par helmis dans le forum Bases de données
    Réponses: 3
    Dernier message: 19/07/2006, 09h15

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