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 :

Fonction total (ou somme) sans doublons [AC-2007]


Sujet :

Access

  1. #1
    Candidat au Club
    Homme Profil pro
    acheteur
    Inscrit en
    Octobre 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Gabon

    Informations professionnelles :
    Activité : acheteur

    Informations forums :
    Inscription : Octobre 2014
    Messages : 9
    Points : 4
    Points
    4
    Par défaut Fonction total (ou somme) sans doublons
    Bonjour à tous,

    je souhaiterai savoir si il est possible de créer une expression dans le "générateur d'expression" avec la fonction somme ou totale qui ne considéra que les valeurs qui ne se répète pas (sans doublons). J'ai une colonne dans mon état dont dont les enregistrement se répète. Lorsque j'applique l'une de ses fonctions, access addition toutes les valeurs de la colonne alors que je n'ai besoin que de la valeur en entête de groupe.

    Si vous connaissez un autre moyen, faite le moi savoir s'il vous plait.

    c'est le champs [montant prévisionnel] de l'image en pièce jointe.

    merci d'avance.
    Images attachées Images attachées  

  2. #2
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 261
    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 261
    Points : 19 424
    Points
    19 424
    Billets dans le blog
    63
    Par défaut
    Bonjour,

    Il faudrait créer une requête à partir de la source de l'état avec un distinct après le select pour n'afficher que des lignes dstinctes.
    Ensuite, utiliser une fonction de domaine au niveau de la propriété "Source contrôle" de votre zone de texte pour faire la somme.

    Cela donnerait quelque chose comme ceci : =DSum("Resultat";"LaRequête";LeCritére) où "LaRequête" désigne votre requête avec distinct...

    Cdlt,
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  3. #3
    Candidat au Club
    Homme Profil pro
    acheteur
    Inscrit en
    Octobre 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Gabon

    Informations professionnelles :
    Activité : acheteur

    Informations forums :
    Inscription : Octobre 2014
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    merci pour la réponse. je test tout de suite et je te tiens informé

  4. #4
    Candidat au Club
    Homme Profil pro
    acheteur
    Inscrit en
    Octobre 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Gabon

    Informations professionnelles :
    Activité : acheteur

    Informations forums :
    Inscription : Octobre 2014
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    je n'y arrive malheureusement pas. J'ai aussi omis de dire que je ne suis moins que débutant en requete SQL.

    voici la requête SQL de mon état. est ce que tu pourrais m'aider s'il te plait??

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT [Bon de commande].[N°bon de commande], [Bon de commande].[date de bon de commande], [Bon de commande].N°devis, Fournisseur.Nom AS Fournisseur_Nom, Budget.id_budget, Budget.nom AS Budget_nom, Demandeur.nom AS Demandeur_nom, Demandeur.prénom, Direction.nom AS Direction_nom, Service.nom AS Service_nom, [Description commande].quantité, [Description commande].[Remise fournisseur], Désignation.Nom AS Désignation_Nom, Désignation.[Prix unitaire], Désignation.TVA_produit, [Bon de commande].[id_bon de commande], [Prix unitaire]*[Remise fournisseur] AS [Remise par produit], Sum(([Prix unitaire]-[Remise par produit])*[quantité]) AS [Montant HT], [Montant HT]*[TVA_produit] AS [TVA par produit], [Budget prévisionnel].[Montant budget prévisionnel]
    FROM (Direction INNER JOIN Service ON Direction.id_direction = Service.direction) INNER JOIN (Fournisseur INNER JOIN (Désignation INNER JOIN (Demandeur INNER JOIN (Budget INNER JOIN ([Budget prévisionnel] INNER JOIN ([Bon de commande] INNER JOIN [Description commande] ON [Bon de commande].[id_bon de commande] = [Description commande].[bon de commande]) ON [Budget prévisionnel].[id_Budget prévisionnel] = [Bon de commande].[budget prévisionnel]) ON Budget.id_budget = [Bon de commande].budget) ON Demandeur.id_demandeur = [Bon de commande].demandeur) ON Désignation.id_désignation = [Description commande].désignation) ON Fournisseur.id_fournisseur = [Bon de commande].fournisseur) ON Service.id_service = Demandeur.service
    GROUP BY [Bon de commande].[N°bon de commande], [Bon de commande].[date de bon de commande], [Bon de commande].N°devis, Fournisseur.Nom, Budget.id_budget, Budget.nom, Demandeur.nom, Demandeur.prénom, Direction.nom, Service.nom, [Description commande].quantité, [Description commande].[Remise fournisseur], Désignation.Nom, Désignation.[Prix unitaire], Désignation.TVA_produit, [Bon de commande].[id_bon de commande], [Budget prévisionnel].[Montant budget prévisionnel]
    ORDER BY Budget.nom, Direction.nom, Service.nom;

  5. #5
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 261
    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 261
    Points : 19 424
    Points
    19 424
    Billets dans le blog
    63
    Par défaut
    Bonjour,

    Ce sont les lignes entières qui se répètent ou la répétition à lieu juste sur une colonne ?

    Cdlt,
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  6. #6
    Candidat au Club
    Homme Profil pro
    acheteur
    Inscrit en
    Octobre 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Gabon

    Informations professionnelles :
    Activité : acheteur

    Informations forums :
    Inscription : Octobre 2014
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Nom : Image1.png
Affichages : 975
Taille : 475,7 Ko

    Mes relations ci-jointes.

    Le montant prévisionnel appartient à la table budget prévisionnel, qui est est relier à la table bon de commande relié à la table description de commande.
    La table description de commande contient les lignes de produit du bon de commande. Par conséquence, les champs du bon de commande seront répéter autant fois qu'il y aura de produit dans description de commande. Et par ricochait, les champs de Budget prévisionnel aussi.

    c'est pourquoi dans l’état, le [montant budget prévisionnel] est aussi répété. La seule différence et inconvénient dans mon cas de figure c'est qu'il s'agit d'un champs numérique dont je voudrais faire la somme par direction et par code budgétaire.

    C'est la raison même de ma question au forum: est il possible de filtrer les doublons avec la fonction somme ou total dans le générateur d'expression ou dans la requête?

  7. #7
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 261
    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 261
    Points : 19 424
    Points
    19 424
    Billets dans le blog
    63
    Par défaut
    Bonjour,

    Dans ce cas, il faut créer une requête avec les champs "id_direction", "id_budget" et "Montant budget prévisionnel" avec regroupement sur les 2 premiers et une somme sur le 3ème:

    Ensuite tu enregistres cette requête sous le nom "LaRequête" par exemple, et tu mets sur la propriété source contrôle du champ de ton état :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =DSum("[Montant budget prévisionnel]";"LaRequête";"[id_direction]=" & Me.id_direction & " and [id_budget]=" & Me.id_budget )
    Si tu bloques, postes ta base...

    Cdlt,
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  8. #8
    Candidat au Club
    Homme Profil pro
    acheteur
    Inscrit en
    Octobre 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Gabon

    Informations professionnelles :
    Activité : acheteur

    Informations forums :
    Inscription : Octobre 2014
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Nom : Image3.jpg
Affichages : 840
Taille : 116,6 Ko

    Ma base de donnée semble trop lourde pour etre uploadé sur le site.
    voici ce qui se passe lorsque je sors du mode création.
    j'ai bien crée la requête et mis la formule dans un champs indépendant. sans succès

  9. #9
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 261
    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 261
    Points : 19 424
    Points
    19 424
    Billets dans le blog
    63
    Par défaut
    Oui, pour les états il vaut mieux essayer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =DSum("[Montant budget prévisionnel]";"LaRequête";"[id_direction]=" & [id_direction] & " and [id_budget]=" & [id_budget] )
    Mais c'est vrai que sans la base c'est difficile
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  10. #10
    Candidat au Club
    Homme Profil pro
    acheteur
    Inscrit en
    Octobre 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Gabon

    Informations professionnelles :
    Activité : acheteur

    Informations forums :
    Inscription : Octobre 2014
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    j'ai compacter la base de données elle pèse maintenant 2 MO, mais lorsque j'essai de l'uploader j'ai un message d'erreur. Est ce qu'il y a un autre moyen de le faire s'il te plait?

  11. #11
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 261
    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 261
    Points : 19 424
    Points
    19 424
    Billets dans le blog
    63
    Par défaut
    Désolé mais je ne peux pas regarder ta base aujourd'hui, je suis débordé , envoie moi un message privé, je regarderai ça demain
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  12. #12
    Candidat au Club
    Homme Profil pro
    acheteur
    Inscrit en
    Octobre 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Gabon

    Informations professionnelles :
    Activité : acheteur

    Informations forums :
    Inscription : Octobre 2014
    Messages : 9
    Points : 4
    Points
    4
    Par défaut Solution trouvé.
    Nom : Image4.png
Affichages : 839
Taille : 207,8 Ko

    copier le champs dont vous souhaitez avoir le total. ouvrir les propriétés du champs copié. Dans l'onglet données, appliqué le cumul par groupe. Vous aurez le total du champs en fonction du nombre de fois qu'il apparaît physiquement (ou plutôt visiblement) dans le groupe.
    - Le champs concernant dans la pièce jointe est en surbrillant champs.
    - Le champs source : montant budjet prévisionnel qui correspond à [Prevision du 2015] (petite erreur de frappe).
    Nom : Image5.png
Affichages : 983
Taille : 185,1 Ko

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 13/07/2014, 13h31
  2. Requête sans doublons et avec sommes
    Par frizou11 dans le forum Requêtes
    Réponses: 2
    Dernier message: 15/05/2010, 09h43
  3. Effectuer une somme sans doublon
    Par dvdavid2009 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 25/09/2009, 11h32
  4. [Postgresql] insertion sans doublon
    Par Pwill dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 08/06/2005, 11h37
  5. Comment mettre à jour une ligne sans doublon via déclencheur
    Par fuelcontact dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 02/08/2004, 15h56

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