Access TOTAUX
enlérga
-
LatelyGeek Messages postés 1758 Date d'inscription Statut Membre Dernière intervention -
LatelyGeek Messages postés 1758 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Bonjour,
J'ai un formulaire qui s'affiche après plusieurs filtres dans lequel il y a les champs:
Budget Prévisionnel (en k€)
Montant Commandé
Montant Réceptionné
Reste à Réceptionner
Qui sont des sommes voici les expressions :
=Somme([Budget Prévisionnel (en k€)])
=Somme([Montant Commandé])
=Somme([Montant Réceptionné])
=Somme([Reste à Réceptionner])
Donc selon ce que l'on rempli dans les filtres avant l'affichage du formulaire, le résultat sera différent.
Il y a un champ de la table qui s'appelle C/I ( Charge ou investissement), un C pour charge et un I pour Inverstissement.
Ce que je voudrais c'est couper les totaux en deux, c'est à dire faire les totaux Budget prév montant commandé ... quand c'est des charges (C), et faire les totaux quand c'est des Investissment (I).
Il faut surement mettre une condition mais je vois pas...car j'utilise pas de requête je tape les expressions direct dans le Source Contrôle
Merci D'avance !
Bonjour,
J'ai un formulaire qui s'affiche après plusieurs filtres dans lequel il y a les champs:
Budget Prévisionnel (en k€)
Montant Commandé
Montant Réceptionné
Reste à Réceptionner
Qui sont des sommes voici les expressions :
=Somme([Budget Prévisionnel (en k€)])
=Somme([Montant Commandé])
=Somme([Montant Réceptionné])
=Somme([Reste à Réceptionner])
Donc selon ce que l'on rempli dans les filtres avant l'affichage du formulaire, le résultat sera différent.
Il y a un champ de la table qui s'appelle C/I ( Charge ou investissement), un C pour charge et un I pour Inverstissement.
Ce que je voudrais c'est couper les totaux en deux, c'est à dire faire les totaux Budget prév montant commandé ... quand c'est des charges (C), et faire les totaux quand c'est des Investissment (I).
Il faut surement mettre une condition mais je vois pas...car j'utilise pas de requête je tape les expressions direct dans le Source Contrôle
Merci D'avance !
7 réponses
Tu dois faire deux champs, que tu totaliseras, le premier s'appelerait par exemple MontantC et dirait VraiFaux([C/I]="I";[Montant];0) et l'autre l'inverse...
C'est Montant1 qui n'existe pas.
Tu crées ce champ Montant1 das le détail ([ VraiFaux([C/I]="I";[MontantReceptionné];0]
Et dans le pied tu fais la somme de Montant1
Tu crées ce champ Montant1 das le détail ([ VraiFaux([C/I]="I";[MontantReceptionné];0]
Et dans le pied tu fais la somme de Montant1
Désolé de t'ennuyer encore avec ça...mais j'y arrive pas
Prenons un seul terme par exemple "Montant commandé" que je dois totaliser sur un même formulaire en séparant les Charges (C) de l'Investissement (I).
Je créer un champs dans Detail appelé "MontantReceptionnéCharge", je lui met comme Source contrôle:
(VraiFaux([C/I]="I";[Montant Receptionné];0)
Et dans le pied de formulaire: je met =Somme([MontantReceptionnéCharge])
Comme ça, ça marche pas!
De plus je ne veux pas avoir le champs "MontantReceptionnéCharge" dans mon formulaire !
Prenons un seul terme par exemple "Montant commandé" que je dois totaliser sur un même formulaire en séparant les Charges (C) de l'Investissement (I).
Je créer un champs dans Detail appelé "MontantReceptionnéCharge", je lui met comme Source contrôle:
(VraiFaux([C/I]="I";[Montant Receptionné];0)
Et dans le pied de formulaire: je met =Somme([MontantReceptionnéCharge])
Comme ça, ça marche pas!
De plus je ne veux pas avoir le champs "MontantReceptionnéCharge" dans mon formulaire !
Alors crée le dans la requête sur laquelle est basée l'état, tu résoudras les deux problèmes en même temps!!!
Au pire, si jamais tu es obligé de mettre ce champ dans le détail pour qu'Access fasse le total, mets "Non" dans sa propriété "Visible".
Au pire, si jamais tu es obligé de mettre ce champ dans le détail pour qu'Access fasse le total, mets "Non" dans sa propriété "Visible".
J'ai ajouté une colonne dans la requête: MontantReceptCharge
avec comme critère: VraiFaux([C/I]="C";[Montant Réceptionné];0)
au lancement du formulaire, il me demande d'entrer la valeur du paramètre "MontantReceptCharge" et celle de "C/I"
car MontantReceptCharge n'est pas dans la table !!
Si j'ajoute MontantReceptCharge dans la table il demande toujours la valeur du paramètre "C/I"...
avec comme critère: VraiFaux([C/I]="C";[Montant Réceptionné];0)
au lancement du formulaire, il me demande d'entrer la valeur du paramètre "MontantReceptCharge" et celle de "C/I"
car MontantReceptCharge n'est pas dans la table !!
Si j'ajoute MontantReceptCharge dans la table il demande toujours la valeur du paramètre "C/I"...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ca n'est pas un critère du tout!!!! C'est ton champ, justement.
Dans le champ tu dois avoir MontantReceptCharge: VraiFaux([C/I]="C";[Montant Réceptionné];0)
Dans le champ tu dois avoir MontantReceptCharge: VraiFaux([C/I]="C";[Montant Réceptionné];0)
VraiFaux veut dire SI, mais le terme est "réservé" par VB (En SQL, VraiFaux s'écrit Iif - avec deux i, pour différencier du If)
Donc Si la valeur du champ C/I est C, on prend la valeur du champ MontantReceptionné, sinon on prend Zéro.
Vont donc figurer dans ce champ les montants de toutes les lignes de détail pour lesquelle C/I = C.
Pour récupérer Le montant des champs des lignes pour lesquelles C/I est I, on avait deux choix:
VraiFaux([C/I]="I";[Montant Réceptionné];0)
Ou alors, plus rapide à taper:
MontantRéceptionné - MontantReceptCharge...
Donc Si la valeur du champ C/I est C, on prend la valeur du champ MontantReceptionné, sinon on prend Zéro.
Vont donc figurer dans ce champ les montants de toutes les lignes de détail pour lesquelle C/I = C.
Pour récupérer Le montant des champs des lignes pour lesquelles C/I est I, on avait deux choix:
VraiFaux([C/I]="I";[Montant Réceptionné];0)
Ou alors, plus rapide à taper:
MontantRéceptionné - MontantReceptCharge...
je créer un champ sur le formulaire appelé MontantCom, je met en source controle de ce champ
=somme([Montant Commandé])
Mais Je sais pas ou entrer cette expression : VraiFaux([C/I]="I";[Montant Commandé];0)
Car le champ n'est pas relier à une requête, je met seulement comme source du champ : =somme...
CHARGE
Budget Prévisionnel (en k€) [=Somme([Budget Prévisionnel (en k€)]) ]
Montant Commandé [=Somme([Montant Commandé])]
Montant Réceptionné [ =Somme([Montant Réceptionné])]
Reste à Réceptionner [=Somme([Reste à Réceptionner])]
INVEST
Budget Prévisionnel (en k€) [=Somme([Budget Prévisionnel (en k€)]) ]
Montant Commandé [=Somme([Montant Commandé])]
Montant Réceptionné [ =Somme([Montant Réceptionné])]
Reste à Réceptionner [=Somme([Reste à Réceptionner])]