Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Total d'un sous-formulaire reporté dans un formulaire

3 réponses
Avatar
AJADV
Bonjour à tous,
j'ai un problème qui ressemble beaucoup à celui de Catherine (CAIRIS) dans
sa question libellée "Totalisation dans un sous-formulaire". J’ai un
sous-formulaire dans lequel un champ totalise des montants sous la forme
=somme([Montant]). Je voudrais que ce total calculé s’affiche également dans
le formulaire et s’enregistre donc dans la table source du formulaire.
Je ne sais pas rendre cela automatique, si ce n’est en créant, dans le
formulaire, un bouton à partir duquel, sur l’évènement « sur clic », je vais
forcer la mise à jour avec un code de ce type :

Me!TotalSF = Me.Sousformulaire!Montantcalculé

TotalSF est le nom du champ du formulaire principal ; Montantcalculé est le
nom du champ du sous-formulaire dans lequel s’effectue le calcul.

La solution idéale serait à mon avis de pouvoir déclencher un évèvement lors
de chaque mise à jour du montant calculé dans le sous-formulaire. Je n’y suis
pas arrivé. Quelle est la méthode à utiliser pour le faire ?
Merci d’avance.
Alain

--
AJ

3 réponses

Avatar
bonjour
Pour réaliser l'affichage du résultat:
1 Mettre un champ indépendant dans le pied du sous formulaire que nome .
exemple TotalMontant
2 Mettre un champ indépendant dans le formulaire que tu peux nommer
résultat.
Tu mets dans ce champ la formulaire suivante
= [Nom du sous formulaire].Formulaire![ToltalMontant]
cela fonctionne avec access 2000
Guy

"AJADV" a écrit dans le message de news:

Bonjour à tous,
j'ai un problème qui ressemble beaucoup à celui de Catherine (CAIRIS) dans
sa question libellée "Totalisation dans un sous-formulaire". J'ai un
sous-formulaire dans lequel un champ totalise des montants sous la forme
=somme([Montant]). Je voudrais que ce total calculé s'affiche également
dans
le formulaire et s'enregistre donc dans la table source du formulaire.
Je ne sais pas rendre cela automatique, si ce n'est en créant, dans le
formulaire, un bouton à partir duquel, sur l'évènement « sur clic », je
vais
forcer la mise à jour avec un code de ce type :

Me!TotalSF = Me.Sousformulaire!Montantcalculé

TotalSF est le nom du champ du formulaire principal ; Montantcalculé est
le
nom du champ du sous-formulaire dans lequel s'effectue le calcul.

La solution idéale serait à mon avis de pouvoir déclencher un évèvement
lors
de chaque mise à jour du montant calculé dans le sous-formulaire. Je n'y
suis
pas arrivé. Quelle est la méthode à utiliser pour le faire ?
Merci d'avance.
Alain

--
AJ


Avatar
3stone
Salut,

"AJADV"
| j'ai un problème qui ressemble beaucoup à celui de Catherine (CAIRIS) dans
| sa question libellée "Totalisation dans un sous-formulaire". J’ai un
| sous-formulaire dans lequel un champ totalise des montants sous la forme
| =somme([Montant]). Je voudrais que ce total calculé s’affiche également dans
| le formulaire et s’enregistre donc dans la table source du formulaire.
| Je ne sais pas rendre cela automatique, si ce n’est en créant, dans le
| formulaire, un bouton à partir duquel, sur l’évènement « sur clic », je vais
| forcer la mise à jour avec un code de ce type :
|
| Me!TotalSF = Me.Sousformulaire!Montantcalculé
|
| TotalSF est le nom du champ du formulaire principal ; Montantcalculé est le
| nom du champ du sous-formulaire dans lequel s’effectue le calcul.
|
| La solution idéale serait à mon avis de pouvoir déclencher un évèvement lors
| de chaque mise à jour du montant calculé dans le sous-formulaire. Je n’y suis
| pas arrivé. Quelle est la méthode à utiliser pour le faire ?


La solution idéale... est de ne surtout pas le faire ;-)
Sauver un somme est une démarche qui vient d'Excel et qui n'a pas sa place
dans une base de données.

Comme tu l'as remarqué, il n'y a pas d'événement qui signale une modification
du sous-formulaire ! D'ailleurs, ces données "pourraient" être modifiées ailleurs.
Cette somme, tu la récupère quand tu le souhaites avec ta requête ou un DSum().

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
AJADV
Merci pour m'avoir répondu, même si je reste toutefois sur ma faim.
--
AJ



Salut,

"AJADV"
| j'ai un problème qui ressemble beaucoup à celui de Catherine (CAIRIS) dans
| sa question libellée "Totalisation dans un sous-formulaire". J’ai un
| sous-formulaire dans lequel un champ totalise des montants sous la forme
| =somme([Montant]). Je voudrais que ce total calculé s’affiche également dans
| le formulaire et s’enregistre donc dans la table source du formulaire.
| Je ne sais pas rendre cela automatique, si ce n’est en créant, dans le
| formulaire, un bouton à partir duquel, sur l’évènement « sur clic », je vais
| forcer la mise à jour avec un code de ce type :
|
| Me!TotalSF = Me.Sousformulaire!Montantcalculé
|
| TotalSF est le nom du champ du formulaire principal ; Montantcalculé est le
| nom du champ du sous-formulaire dans lequel s’effectue le calcul.
|
| La solution idéale serait à mon avis de pouvoir déclencher un évèvement lors
| de chaque mise à jour du montant calculé dans le sous-formulaire. Je n’y suis
| pas arrivé. Quelle est la méthode à utiliser pour le faire ?


La solution idéale... est de ne surtout pas le faire ;-)
Sauver un somme est une démarche qui vient d'Excel et qui n'a pas sa place
dans une base de données.

Comme tu l'as remarqué, il n'y a pas d'événement qui signale une modification
du sous-formulaire ! D'ailleurs, ces données "pourraient" être modifiées ailleurs.
Cette somme, tu la récupère quand tu le souhaites avec ta requête ou un DSum().

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)