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 état à partir d'un sous formulaire


Sujet :

Access

  1. #1
    Candidat au Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2016
    Messages : 9
    Points : 2
    Points
    2
    Par défaut Somme dans un état à partir d'un sous formulaire
    Je voudrais faire apparaître la somme des factures clients et factures fournisseur (qui sont inscrit dans une table et qui apparaissent dans mon sous-formulaire ''Invoicing customers '' ) dans mon état projets Fin d'année projets. J'ai fait un essai dans l'état nommé Fin d'année, mais je ne sais pas pourquoi les factures triples pour chaque projet ce qui fait que ma somme n'est pas bonne. Je sais pas si je suis claire dans mes explications.j'aimerai mettre ma base ACCESS en copie mais le format .accdb ne semble pas être pris en charge. Comment je pourrais vous fournir le fichier?

  2. #2
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    katia1987

    en .zip tout simplement

    Jm
    N'oubliez pas le Tag si la réponse donnée vous a été utile et pour une réponse pertinente.
    Retrouvez-moi sur le chat en salon base de données

  3. #3
    Candidat au Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2016
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    ya rien à faire j'ai essayer en .zip et .rar et ça veut pas télécharger!!!

  4. #4
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    katia1987

    Quelle taille une fois compressée ton fichier ?

    D'autre part utilise tu le bon lien (le trombone) pour charger ton fichier ?

    jm
    N'oubliez pas le Tag si la réponse donnée vous a été utile et pour une réponse pertinente.
    Retrouvez-moi sur le chat en salon base de données

  5. #5
    Candidat au Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2016
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    oui, j'utilise le trombone et mon fichier fait 16 963Ko c'est un point .rar pck en .zip il compresse pas du tout il est à 33 529 Ko!

  6. #6
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    katia1987

    Euh oui un peu lourd effectivement !

    Peux tu reproduire dans une nouvelle base (par importation des objets) avec un extrait de tes données (non confidentielles) permettant de simuler ton problème.

    Jm
    N'oubliez pas le Tag si la réponse donnée vous a été utile et pour une réponse pertinente.
    Retrouvez-moi sur le chat en salon base de données

  7. #7
    Candidat au Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2016
    Messages : 9
    Points : 2
    Points
    2

  8. #8
    Candidat au Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2016
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Ce que je veux réussir à faire c'est faire apparaitre les champs somme dnas l'état Fin d'année projets! Pour avoir une idée, le tout fonctionne dans mon Formulaire Projet.

  9. #9
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 869
    Points : 3 448
    Points
    3 448
    Par défaut
    Bonjour katia1987, Jean-Marie,

    Si j'ai bien compris la question, le plus facile est de faire le calcul directement dans la requête de ton état. Ce qui se lirait comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT Project.[# Project], Project.[Serial #], Project.Client, Project.Programm, Project.Description, Project.[Amount Sale], Project.[Amount bought], 
    (SELECT Sum([Invoicing Customers].[Total in CAD]) AS Vente FROM [Invoicing Customers] WHERE [Invoicing Customers].Ref_Projet=[# Project];) AS MontantClient, 
    (SELECT Sum([Invoicing suppliers].[Total CAD]) AS Achat FROM [Invoicing suppliers] WHERE [Invoicing suppliers].Ref_Projet=[# Project];) AS MontantFournisseur
    FROM Project;
    Je joint la base

    Bonne journée
    Fichiers attachés Fichiers attachés
    Ce qui se conçoit bien s’énonce clairement et les mots pour le dire arrivent aisément. Nicolas Boileau
    Si tout est OK, n'oubliez pas de cliquer sur

  10. #10
    Candidat au Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2016
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Database51.rar

    Super!!! je suis trop contente! tu me sauve la vie!!!! Heille j'ai essayé de mettre une somme dans Somme ventes CAD et Somme Achats CAD et le total ne fonctionne pas! Est-ce normal? Et je sais que ça semble peut etre easy, mais je voudrais savoir si il est possible de faire apparaître la date de création dans l'état (la date se trouve dans la table projet ) et de faire un une recherche ou un tri? Comme exemple je veux sortir seulement les projets créés en 2015!!!

  11. #11
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 869
    Points : 3 448
    Points
    3 448
    Par défaut
    Bonjour katia1987,

    j'ai essayé de mettre une somme dans Somme ventes CAD et Somme Achats CAD et le total ne fonctionne pas!
    C'est parce que tu n'utilises pas la fonction "DSum" de la bonne manière. Avec l'aide d'Access tu auras la version longue de l'explication mais DSum(Expr, Domain, Criteria) où Expr est le champ que tu veux, Domain la table dans laquelle se trouve le champ et Criteria le critère de sélection. La raison d'utiliser le DSum au lieu du simple "=Somme(LeChamp) est que comme la sous requête est un regroupement tu aurais le message d'erreur :
    Nom : Multi.PNG
Affichages : 232
Taille : 4,9 Ko
    Donc pour le champ "Somme Ventes CAD" ce sera: =SomDom("[Total in CAD]";"Invoicing Customers")
    Pour le champ "Somme Achats CAD" ce sera: =SomDom("[Total CAD]";"Invoicing suppliers")
    Et je sais que ça semble peut etre easy, mais je voudrais savoir si il est possible de faire apparaître la date de création dans l'état (la date se trouve dans la table projet )
    Si tu parles de "Delivery Date" tu n'as qu'à l'ajouter dans la requête de ton état.
    Comme exemple je veux sortir seulement les projets créés en 2015!!!
    Là va falloir que tu me précises comment tu veux filtrer? Est-ce que tu veux simplement un "InputBox" qui va te demander d'inscrire l'année ou tu veux quelque chose de plus sophistiqué (genre une période de à)?

    Bonne journée
    Ce qui se conçoit bien s’énonce clairement et les mots pour le dire arrivent aisément. Nicolas Boileau
    Si tout est OK, n'oubliez pas de cliquer sur

  12. #12
    Candidat au Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2016
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Woww, je vous dirai jamais assez Merci!!! et je voudrais faire apparaitre une colonne avec la date et que par la suite de puisse trier pour pouvoir sortir seulement les projets qui apparaissent en 2015 exemple. Je sais pas si je suis claire!!! Mon fichier est joint.
    Fichiers attachés Fichiers attachés

  13. #13
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 869
    Points : 3 448
    Points
    3 448
    Par défaut
    Bonjour Katia,

    Voici comment je ferais.

    Premièrement un formulaire pour permettre la sélection de l'année:
    Nom : F_Choix.PNG
Affichages : 210
Taille : 4,5 Ko

    La liste déroulante des années construite comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT Year([Delivery Date]) AS YearP, Year([Delivery Date]) AS An FROM Project UNION SELECT 0 As YearP, "TOUTES" As An FROM Project;
    La valeur par défaut le la liste = TOUTES
    Le bouton pour ouvrir l'état avec le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub btnEtat_Click()
     
        If Me.modAn = 0 Then
            DoCmd.OpenReport "Fin d'année projets", acViewPreview, , , , Me.modAn
        Else
            DoCmd.OpenReport "Fin d'année projets", acViewPreview, , "[An]=" & Me.modAn, , Me.modAn
        End If
     
    End Sub
    Et enfin ton état basé sur la requête suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT Project.[# Project], Project.[Serial #], Project.Client, Project.Programm, Project.Description, Project.[Amount Sale], Project.[Amount bought], (SELECT Sum([Invoicing Customers].[Total in CAD]) AS Vente FROM [Invoicing Customers] WHERE [Invoicing Customers].Ref_Projet=[# Project];) AS MontantClient, (SELECT Sum([Invoicing suppliers].[Total CAD]) AS Achat FROM [Invoicing suppliers] WHERE [Invoicing suppliers].Ref_Projet=[# Project];) AS MontantFournisseur, Project.[Delivery Date], Year([Delivery Date]) AS An
    FROM Project;
    Avec les champs suivant indépendants:
    Nom : Etat.PNG
Affichages : 260
Taille : 31,0 Ko
    Et finalement le code suivant sur ouverture de ton état:
    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
    Private Sub Report_Load()
     
        If Me.OpenArgs = 0 Then
            Me.txtSale = Nz(DSum("[Amount Sale]", "Project"), 0)
            Me.txtSaleCAD = Nz(DSum("[Total in CAD]", "Invoicing Customers"), 0)
            Me.txtBought = Nz(DSum("[Amount bought]", "Project"), 0)
            Me.txtBoughtCAD = Nz(DSum("[Total CAD]", "Invoicing suppliers"), 0)
        Else
            Me.txtSale = Nz(DSum("[Amount Sale]", "Project", "Year([Delivery Date])=" & Me.OpenArgs), 0)
            Me.txtSaleCAD = Nz(DSum("[Total in CAD]", "Invoicing Customers", "Year([Date F#])=" & Me.OpenArgs), 0)
            Me.txtBought = Nz(DSum("[Amount bought]", "Project", "Year([Delivery Date])=" & Me.OpenArgs))
            Me.txtBoughtCAD = Nz(DSum("[Total CAD]", "Invoicing suppliers", "Year([Date Inv#])=" & Me.OpenArgs), 0)
        End If
     
    End Sub
    Je te mets la base en pièces jointes.

    Bonne journée
    Fichiers attachés Fichiers attachés
    Ce qui se conçoit bien s’énonce clairement et les mots pour le dire arrivent aisément. Nicolas Boileau
    Si tout est OK, n'oubliez pas de cliquer sur

  14. #14
    Candidat au Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2016
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Ok je comprend pas tout ce que tu m'as écris!! Je suis pas assez callé pour tout comprendre!!! Mais lorsque j'ouvre la base et que je vais sur l'état ou le formulaire, j'obtiens un message d'erreur d'exécution '3075' Erreur de syntaxe (opérateur absent) dans l'expression `Year(Delivery DAte)=, mais la fonction marche!!!. Et j'ai perdu mes sommes à la fin de mes colonnes! Je comprend pas comment faire pour les garder et les champs indépendants!!!

  15. #15
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 869
    Points : 3 448
    Points
    3 448
    Par défaut
    Bonjour Katia,

    Tu dois ouvrir l'état à partir du formulaire. C'est ce qui permet de filtrer. J'aurais du mettre un test pour vérifier lors de l'ouverture si il y avait bien un "OpenArgs" mais comme c'était juste un exemple je ne l'ai pas fait.

    Voici le code, commenté à mettre dans ton état:
    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
    17
    18
    19
    20
    21
    22
    Option Compare Database
    Option Explicit
     
    Private Sub Report_Load()
     
        'Ici on teste si le OpenArgs est = 0 ou est null
        '= 0 veut dire que tu as sélectionné TOUTES dans la liste déroulante des années
        'Est null veut dire que tu as ouvert l'état sans passer par le formulaire
        If Me.OpenArgs = 0 Or IsNull(Me.OpenArgs) Then
            Me.txtSale = Nz(DSum("[Amount Sale]", "Project"), 0)
            Me.txtSaleCAD = Nz(DSum("[Total in CAD]", "Invoicing Customers"), 0)
            Me.txtBought = Nz(DSum("[Amount bought]", "Project"), 0)
            Me.txtBoughtCAD = Nz(DSum("[Total CAD]", "Invoicing suppliers"), 0)
        'Ici tu as sélectionné une année dans la liste déroulante
        Else
            Me.txtSale = Nz(DSum("[Amount Sale]", "Project", "Year([Delivery Date])=" & Me.OpenArgs), 0)
            Me.txtSaleCAD = Nz(DSum("[Total in CAD]", "Invoicing Customers", "Year([Date F#])=" & Me.OpenArgs), 0)
            Me.txtBought = Nz(DSum("[Amount bought]", "Project", "Year([Delivery Date])=" & Me.OpenArgs))
            Me.txtBoughtCAD = Nz(DSum("[Total CAD]", "Invoicing suppliers", "Year([Date Inv#])=" & Me.OpenArgs), 0)
        End If
     
    End Sub
    Je viens de tester et ça fonctionne très bien

    Bonne journée
    Ce qui se conçoit bien s’énonce clairement et les mots pour le dire arrivent aisément. Nicolas Boileau
    Si tout est OK, n'oubliez pas de cliquer sur

  16. #16
    Candidat au Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2016
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Super!!! J'ai tout ce dont j'ai besoin! Petite dernière question!!! Est-ce que c'est possible de demander d'afficher un zéro dans les case qui son vide pour que la formule que je demande puisse fonctionné?

    Merci encore!

  17. #17
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 869
    Points : 3 448
    Points
    3 448
    Par défaut
    Bonjour katia1987,

    C'est exactement ce que fait le Nz. Donc tu remplaces le champ "Project.[Amount Sale]" par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Nz([Amount Sale],0) As UnNom
    dans la requête initiale.

    Bonne journée
    Ce qui se conçoit bien s’énonce clairement et les mots pour le dire arrivent aisément. Nicolas Boileau
    Si tout est OK, n'oubliez pas de cliquer sur

Discussions similaires

  1. [AC-2007] Ouvrir état à partir d'un sous formulaire
    Par stephi222 dans le forum IHM
    Réponses: 20
    Dernier message: 23/07/2014, 06h27
  2. Réponses: 42
    Dernier message: 05/08/2013, 14h52
  3. [AC-2003] Requête de création d'un état à partir d'un sous formulaire
    Par manutazounet dans le forum IHM
    Réponses: 2
    Dernier message: 26/05/2010, 21h30
  4. Comment créer une somme dans un état?
    Par ivan rung dans le forum Access
    Réponses: 6
    Dernier message: 20/01/2006, 07h56
  5. faire une somme dans un état
    Par PAINCO dans le forum Access
    Réponses: 1
    Dernier message: 23/06/2005, 19h41

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