Somme conditionnelle sur un sous formulaire
Fermé
bakool
Messages postés
2
Date d'inscription
vendredi 30 janvier 2015
Statut
Membre
Dernière intervention
2 février 2015
-
30 janv. 2015 à 02:18
Tessel75 - 4 févr. 2015 à 12:17
Tessel75 - 4 févr. 2015 à 12:17
A voir également:
- Somme conditionnelle sur un sous formulaire
- Mise en forme conditionnelle excel - Guide
- Formule somme excel colonne - Guide
- Somme si couleur - Guide
- Formulaire de réclamation facebook - Guide
- Excel somme ne fonctionne pas ✓ - Forum Excel
7 réponses
Bonjour,
"Ce que Access fait c'est volume du premier enregistrement de B * nombre d'enregistrements de B !!"
Met nous la copie de la requête de ton sous-formulaire en SQL, qu'on y voit un peu clair.
Sinon pour la délimitation entre 2 dates, il suffit d'introduire la condition "Entre dateDebut et DateFin" dans ta requête.
Au besoin tu peux ajouter à ton formulaire principal 2 contrôles indépendants "dateDebut " et "DateFin" et faire dépendre ta requête de ces 2 valeurs.
Bonne suite
"Ce que Access fait c'est volume du premier enregistrement de B * nombre d'enregistrements de B !!"
Met nous la copie de la requête de ton sous-formulaire en SQL, qu'on y voit un peu clair.
Sinon pour la délimitation entre 2 dates, il suffit d'introduire la condition "Entre dateDebut et DateFin" dans ta requête.
Au besoin tu peux ajouter à ton formulaire principal 2 contrôles indépendants "dateDebut " et "DateFin" et faire dépendre ta requête de ces 2 valeurs.
Bonne suite
bakool
Messages postés
2
Date d'inscription
vendredi 30 janvier 2015
Statut
Membre
Dernière intervention
2 février 2015
2 févr. 2015 à 02:07
2 févr. 2015 à 02:07
Merci pour ta réponse, voila ce que j'ai mis :
=DSum([hauteur_nu]*[largeur_nu]*[profondeur_nu]/1000000*([Qté_com]-[Qté_reçu]),"supplier_activity2","now()<=[date_max]<now()+7-Weekday(now(),2)")
Sachant que supplier_activity2 est le nom de mon sous formulaire.
Tessel, le problème ne porte pas vraiment sur la condition de date mais plus sur le domaine je pense.
J'ai mis une capture d'écran de cette requête.
Merci d'avance
=DSum([hauteur_nu]*[largeur_nu]*[profondeur_nu]/1000000*([Qté_com]-[Qté_reçu]),"supplier_activity2","now()<=[date_max]<now()+7-Weekday(now(),2)")
Sachant que supplier_activity2 est le nom de mon sous formulaire.
Tessel, le problème ne porte pas vraiment sur la condition de date mais plus sur le domaine je pense.
J'ai mis une capture d'écran de cette requête.
Merci d'avance
Bonjour,
L'écriture habituelle de la série des opérations sur domaine est "Dsum("A","Table ou Requête","Conditions")".
Je doute beaucoup, parce que je ne l'ai jamais fait, qu'il soit possible de faire une opération dans le terme Champ de la formule; donc il vaudrait mieux trouver une écriture du genre Dsum() + DSum + etc. Mais alors il est bien plus simple d'écrire ces opérations dans la requêtes elle-même.
Par ailleurs, écrire: "now()<=[date_max]<now()+7-Weekday(now(),2)") est une abération parce que Now() est une constante.
Quoiqu'il en soit, il n'y a pas à s'étonner que ta formule ne marche pas. Enfin tu dois savoir que la série des opérations de domaine sont passablement fragiles et qu'il faut être particulièrement précautionneux dans leur emploi.
L'écriture habituelle de la série des opérations sur domaine est "Dsum("A","Table ou Requête","Conditions")".
Je doute beaucoup, parce que je ne l'ai jamais fait, qu'il soit possible de faire une opération dans le terme Champ de la formule; donc il vaudrait mieux trouver une écriture du genre Dsum() + DSum + etc. Mais alors il est bien plus simple d'écrire ces opérations dans la requêtes elle-même.
Par ailleurs, écrire: "now()<=[date_max]<now()+7-Weekday(now(),2)") est une abération parce que Now() est une constante.
Quoiqu'il en soit, il n'y a pas à s'étonner que ta formule ne marche pas. Enfin tu dois savoir que la série des opérations de domaine sont passablement fragiles et qu'il faut être particulièrement précautionneux dans leur emploi.
Bonjour,
L'écriture habituelle de la série des opérations sur domaine est "Dsum("A","Table ou Requête","Conditions")".
Il me semble que cela correspond non ?
Par ailleurs, écrire: "now()<=[date_max]<now()+7-Weekday(now(),2)") est une abération parce que Now() est une constante.
Ma condition ne porte pas sur Now() qui est comme tu le dis une constante mais sur [date_max]. En gros je veux sélectionner seulement les enregistrements qui ont une date_max associée comprise entre aujourd'hui et la fin de la semaine.
Et si il est possible de faire des opérations dans les champs des formules, je le fais souvent et cela fonctionne très bien.
Et que veux tu dire par Dsum + Dsum + etc je n'ai pas bien compris.
Merci
L'écriture habituelle de la série des opérations sur domaine est "Dsum("A","Table ou Requête","Conditions")".
Il me semble que cela correspond non ?
Par ailleurs, écrire: "now()<=[date_max]<now()+7-Weekday(now(),2)") est une abération parce que Now() est une constante.
Ma condition ne porte pas sur Now() qui est comme tu le dis une constante mais sur [date_max]. En gros je veux sélectionner seulement les enregistrements qui ont une date_max associée comprise entre aujourd'hui et la fin de la semaine.
Et si il est possible de faire des opérations dans les champs des formules, je le fais souvent et cela fonctionne très bien.
Et que veux tu dire par Dsum + Dsum + etc je n'ai pas bien compris.
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
En fait voila, je me rends compte que je n'ai pas été très clair.
Mon sous formulaire a pour enregistrements des produits.
Ce que je veux faire c'est la somme sur le volume (c'est le : [hauteur_nu]*[largeur_nu]*[profondeur_nu]/1000000*([Qté_com]-[Qté_reçu])) des enregistrements (des produits donc) de mon sous formulaire, MAIS UNIQUEMENT pour ceux qui ont une date_max comprise entre aujourd'hui et la fin de la semaine.
Le but est d'avoir dans le formulaire ce volume total.
Merci d'avance.
Mon sous formulaire a pour enregistrements des produits.
Ce que je veux faire c'est la somme sur le volume (c'est le : [hauteur_nu]*[largeur_nu]*[profondeur_nu]/1000000*([Qté_com]-[Qté_reçu])) des enregistrements (des produits donc) de mon sous formulaire, MAIS UNIQUEMENT pour ceux qui ont une date_max comprise entre aujourd'hui et la fin de la semaine.
Le but est d'avoir dans le formulaire ce volume total.
Merci d'avance.
Bonjour,
Tu avais écrit:"DSum([hauteur_nu]*[largeur_nu]*[profondeur_nu]/1000000*([Qté_com]-[Qté_reçu])".
Or autant l'expression est valide en maths (Somme(A*B*C) =S omme(A)*Somme(B)*
Somme(C)), autant avec Access je doute que ça le soit.
Donc il faut bien mieux calculer toutes les variables partielles et les sommer à la fin avec une requête-opération (utiliser l'icône Sygma et en même temps mettre les critères de sélection sur les dates.
A l'arrivée, c'est très simple et ne nécessite pas les fonctions DSum()
Bonne suite.
Tu avais écrit:"DSum([hauteur_nu]*[largeur_nu]*[profondeur_nu]/1000000*([Qté_com]-[Qté_reçu])".
Or autant l'expression est valide en maths (Somme(A*B*C) =S omme(A)*Somme(B)*
Somme(C)), autant avec Access je doute que ça le soit.
Donc il faut bien mieux calculer toutes les variables partielles et les sommer à la fin avec une requête-opération (utiliser l'icône Sygma et en même temps mettre les critères de sélection sur les dates.
A l'arrivée, c'est très simple et ne nécessite pas les fonctions DSum()
Bonne suite.
Bon OK, j'ai confondu avec la multiplication d'une somme par une constante. Mes dernière études de maths remontent à plus de 40 ans, alors...
Cela dit, le problème est surtout que tu as bien écrit "DSum(A*B*C/d * (E-F))", et ça, ça ne peut pas passer.
Je répète qu'il faut passer par une requête qui est plus stable. A toi de voir.
Bonne suite
Cela dit, le problème est surtout que tu as bien écrit "DSum(A*B*C/d * (E-F))", et ça, ça ne peut pas passer.
Je répète qu'il faut passer par une requête qui est plus stable. A toi de voir.
Bonne suite