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 :

Somme dans un formulaire ne variant pas quand on filtre


Sujet :

Access

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Août 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Somme dans un formulaire ne variant pas quand on filtre
    Bonjour

    J'ai un formulaire, et au niveau de l'en tête, il y a une somme qui marche parfaitement. Par contre, quand j'effectue un tri sur l'un des autres champ, la somme devient la somme des champ triés.
    Ca me va très bien puisque j'en ai justement besoin, mais j'ai aussi besoin de garder affichée la somme totale sans tenir compte du tri (je ferai un pourcentage ensuite, mais de ttes façons, je veux pouvoir l'afficher).

    Donc mon idée a été de faire la somme des champs mais en les appelant depuis la requête ou depuis la table, et non plus depuis le formulaire.
    J'ai donc essayé de résoudre le pb des façons suivantes :

    1) Au lieu de marquer "=Somme([Awarded_Price])", j'ai mis "=Somme([Fiche_Jigstat]![Awarded_Price])", sachant que "Fiche_Jigstat" est le nom de la table.
    Ca continue à ne me fre la somme que des chps filtrés...

    2) Dans la requête, j'ai ajouté une colonne "Turnover: Awarded_Price" avec pour opération "Somme", puis dans mon formulaire, je mets dans le champs "=Somme([Requête_Fiche_Jigstat]![Turnover])" ou "[Requête_Fiche_Jigstat]![Turnover]" . Aucun des deux ne marche et en l'occurence il me met "#Erreur"

    J'ai aussi essayé de mettre "non" dans "Rechercher filtre" de Propriétés, ça ne change rien...

    Je suis allée voir dans les fenêtres de codes (j'ai toujours réussi à éviter ça jusque là dans l'autre petite base que j'ai faite), mais je n'arrive même pas à trouver le code associé à cette zone de texte (j'ai tjr eu l'impression qu'il fallait partir de zéro donc je ne sais pas comment m'y prendre...)

    Voili voilou, et comme je ne trouve rien à ce sujet dans les différents forums, je me demande si je n'aborde pas le sujet par le mvs côté...

    Pr info, je suis là encore jusque 17h, mais après, pas de boulot d'ici jeudi prochain, donc ne vous inquiétez pas si je mets du tps à répondre...

    Merci d'avance pour votre aide !!!

  2. #2
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Si tu veux en permanence 2 totaux, l'un affichant le total général, l'autre le total filtré, tu peux procéder de différentes façons...

    En voici une :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    txtTotal=DSum("[TonChamp]", "TaTable")
    txtTotalFiltré = DSum("[TonChamp]", "TaTable", _
    "[Ton Champ critère de filtre] = 'La valeur du filtre'")
    Par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    txtTotalFiltré = DSum("[Prix]", "Commandes", "[Région] = 'Rhône Alpes'")
    Ensuite tu aurais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    txtEcart=txtTotalFiltré /txtTotal
    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Août 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci ! Mais déjà, je le rentre où le code ???

    Et par ailleurs, je n'ai pas un critère de tri fixé. Pr fre le tri, je clique sur le champ que je veux trier et garder dans la partie centrale, tandis que dans l'entête, j'ai deux fois les données (enfin, j'aimerais...) : une fois avant application du filtre, une fois après application du filtre.

    Donc comment contourner ça ? Une requête où l'utilisateur remplirait le nom du chp qu'il veut trier ne me semble pas très simple, mais à la limite, pourquoi pas, mais dans ce cas, je ne sais pas comment ça se code et à quel endroit mettre le code (car si je commence en code, j'aimagine qu'il faudra continuer ?...)

    Merci ...

  4. #4
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Sur l'événement Click du Champ qui tri, tu génères une condition WHERE
    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Private Sub EtiquetteDeTRI_Click()
    Dim strCleDeFiltre As String
      'Construit le champ de condition Where
      strCleDeFiltre = "[Pays]="
      'Construit la chaîne avec le Pays sélectionné et _
      alimente le champ txtTotalFiltré
      Me!txtTotalFiltré = DSum("[Prix]", "Commandes", strCleDeFiltre _
      & Chr(34) & Me!txtPays & Chr(34))
      'Alimente le champ txtTotal
      Me!txtTotal = DSum("[Prix]", "Commandes")
    End Sub
    Mais c'est une suggestion parmi d'autres...
    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

Discussions similaires

  1. Afficher une somme dans un formulaire
    Par noratec dans le forum IHM
    Réponses: 3
    Dernier message: 03/01/2007, 22h17
  2. Somme dans un Formulaire
    Par nadia68 dans le forum IHM
    Réponses: 6
    Dernier message: 10/12/2006, 08h40
  3. Créer une somme dans un formulaire Word
    Par angeld dans le forum Windows
    Réponses: 8
    Dernier message: 02/11/2006, 17h35
  4. résultat d'une requête Somme dans un formulaire
    Par chrislauxerrois dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 03/08/2006, 15h29
  5. Pb de sommes dans sous formulaires !
    Par Fredri dans le forum Access
    Réponses: 10
    Dernier message: 11/01/2006, 12h09

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