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

IHM Discussion :

Problème form recherche et sommes arrondies [AC-2013]


Sujet :

IHM

  1. #1
    Membre régulier
    Femme Profil pro
    emploi
    Inscrit en
    Mars 2014
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : emploi

    Informations forums :
    Inscription : Mars 2014
    Messages : 138
    Points : 99
    Points
    99
    Par défaut Problème form recherche et sommes arrondies
    Bonjour à tous,


    J'ai un formulaire de recherche de factures (dépendantes de clients et contenant des lignes - soit 3 tables T_Clients->T_Factures->T_Factures_Details).
    Mon formulaire est basé sur ce principe: http://claudeleloup.developpez.com/t...-multicritere/
    Qui pour moi fonctionne à merveille et que j'ai l'habitude de mettre en place dans mon application.

    Par contre je rencontre une difficulté nouvelle: Un de mes contrôles filtrables contient un montant en € (donc arrondit à 2) et voici un exemple de problème rencontré:
    admettons que le montant avant arrondit soit 12.2999999523163; une fois affiché sur le formulaire il devient 12.30 MAIS si dans le filtre du montant on tape 12.30, la facture correspondante ne s'affichera pas car le filtre demande 12.2999999523163...

    J'ai tenté d'utiliser la fonction Round dans le contrôle et dans la requête mais sans succès.
    J'ai vérifié que tous les champs permettant d'avoir mon montant total étaient eux aussi bien en €. Maintenant.... J'espère vraiment que vous n'allez pas me répondre qu'il fallait mettre tous les champs en numérique avec l'arrondit

    Une idée?


    A bientôt.


    [EDIT]
    Je viens de remarquer que un chiffre avant affichage en € tel que 9.9 qui devient 9.90€ n'est lui aussi pas affiché si dans le filtre on tape 9.90, il faut impérativement entrer 9.9... Je crains le pire...

  2. #2
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour,

    Voici un exemple pour contourner le problème.



    Si pas de filtre, la source est la table Vins.


    Lorsqu’on modifie un filtre, on change la source pour y mettre cette requête :




    Voici le code

    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
    Option Compare Database
    Option Explicit
     
     
    Private Sub FiltrePrixArrondi_AfterUpdate()
      Call MajSource
    End Sub
     
    Public Sub MajSource()
     Me.RecordSource = ""
      If Not IsNull(Me.FiltrePrixArrondi) Then
          Me.RecordSource = "rFiltre"
        Else
          Me.RecordSource = "Vins"
      End If
    End Sub
    Et on obtient ceci :

    Fichiers attachés Fichiers attachés

  3. #3
    Membre régulier
    Femme Profil pro
    emploi
    Inscrit en
    Mars 2014
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : emploi

    Informations forums :
    Inscription : Mars 2014
    Messages : 138
    Points : 99
    Points
    99
    Par défaut
    Merci beaucoup pour cet exemple; encore une fois tu as su me montrer la sortie du tunnel

    J'avais effectivement lu un article au sujet de module pour arrondir les montants, mais je pensais que la fonction round me suffirait (Du moins j'espérais car son utilisation me semblait plus simple). Au moins maintenant je saurais comment arrondir correctement un montant grâce à ton module (que j'ai du relire.... pas mal de fois pour comprendre toute la mécanique).


    A bientôt.

  4. #4
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    que j'ai du relire.... pas mal de fois pour comprendre toute la mécanique
    Désolé, j'aurais dû renseigner cette adresse : http://www.developpez.net/forums/d97...arrondir-prix/

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

Discussions similaires

  1. problème de recherche dans une base de donnée mysql
    Par Xini28 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 24/10/2005, 18h00
  2. Problème de recherche
    Par ptidoudou02 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 05/10/2005, 16h49
  3. Probléme avec la fontion Somme
    Par mor ndajé dans le forum Access
    Réponses: 6
    Dernier message: 18/09/2005, 10h21
  4. problème de recherche dans une base de données
    Par bouzid_mehdi dans le forum Bases de données
    Réponses: 2
    Dernier message: 19/07/2005, 06h47
  5. Problème de recherche dans une BD
    Par ledevelopeur dans le forum Bases de données
    Réponses: 5
    Dernier message: 28/04/2004, 09h49

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