OVH Cloud OVH Cloud

actualisation calcul dans formualire

2 réponses
Avatar
Ben
Bonjour,
J'ai un formulaire bas=E9 sur une requ=EAte.
Dans ce formulaire, j'ai des montants et une case =E0=20
cocher =AB point=E9 =BB.
En pied de formulaire, 2 zones de texte calculant des=20
totaux :
Texte1 =3D Somme([montants]
Texte2 =3D Somme(VraiFaux([Point=E9]=3D-1;[montants];0))
Ce que je ne comprends pas, c'est que lorsque je coche =AB=20
point=E9 =BB, le calcul de texte2 =E0 syst=E9matiquement un=20
cochage (ou d=E9cochage de retard), c'est-=E0-dire qu'en=20
ouvrant mon form, si Texte2 est =E9gal =3D 100, que je coche -
50, Texte2 reste =E0 100. Puis en cochant -20, Texte2=20
passe =E0 -50 (prend en compte mon premier cochage).
J'ai essay=E9 de mettre sur =AB apr=E8s MAJ =BB de point=E9, le=20
code : Texte2 =3D DSum
("[montants]", "requ=EAteduformualire", "[Point=E9] =3D -1") et=20
le calcul est aussi d=E9cal=E9.
J'ai essay=E9 de mettre un sous formulaire bas=E9 sur une=20
autre requ=EAte effectuant le calcul : m=EAme probl=E8me.
Merci pour votre aide, car je ne sais plus que faire.
Ben

2 réponses

Avatar
cyberjc
Bonjour, tu peux peut-être essayer me.refresh (voir me.requery) après maj


Bonjour,
J'ai un formulaire basé sur une requête.
Dans ce formulaire, j'ai des montants et une case à
cocher « pointé ».
En pied de formulaire, 2 zones de texte calculant des
totaux :
Texte1 = Somme([montants]
Texte2 = Somme(VraiFaux([Pointé]=-1;[montants];0))
Ce que je ne comprends pas, c'est que lorsque je coche «
pointé », le calcul de texte2 à systématiquement un
cochage (ou décochage de retard), c'est-à-dire qu'en
ouvrant mon form, si Texte2 est égal = 100, que je coche -
50, Texte2 reste à 100. Puis en cochant -20, Texte2
passe à -50 (prend en compte mon premier cochage).
J'ai essayé de mettre sur « après MAJ » de pointé, le
code : Texte2 = DSum
("[montants]", "requêteduformualire", "[Pointé] = -1") et
le calcul est aussi décalé.
J'ai essayé de mettre un sous formulaire basé sur une
autre requête effectuant le calcul : même problème.
Merci pour votre aide, car je ne sais plus que faire.
Ben




Avatar
ben
Merci, mais j'avais déjà essayé mais cela ne marche pas.
En fait, à priori, il faut d'abord que je "valide"
l'enregistrement sur lequel je vient de modifier
mon "pointé". Ce la fonctionne par exemple
avec "DoCmd.GoToRecord , , acNext", sauf si je suis sur
le dernier enregsitrement. Il me faudrait un code du même
type qui fonctionne même sur le dernier enregistrement.


-----Message d'origine-----
Bonjour, tu peux peut-être essayer me.refresh (voir
me.requery) après maj



Bonjour,
J'ai un formulaire basé sur une requête.
Dans ce formulaire, j'ai des montants et une case Ã
cocher « pointé ».
En pied de formulaire, 2 zones de texte calculant des
totaux :
Texte1 = Somme([montants]
Texte2 = Somme(VraiFaux([Pointé]=-1;[montants];0))
Ce que je ne comprends pas, c'est que lorsque je coche
«


pointé », le calcul de texte2 à systématiquement
un


cochage (ou décochage de retard), c'est-à -dire qu'en
ouvrant mon form, si Texte2 est égal = 100, que je
coche -


50, Texte2 reste à 100. Puis en cochant -20, Texte2
passe à -50 (prend en compte mon premier cochage).
J'ai essayé de mettre sur « après MAJ » de
pointé, le


code : Texte2 = DSum
("[montants]", "requêteduformualire", "[Pointé] = -
1") et


le calcul est aussi décalé.
J'ai essayé de mettre un sous formulaire basé sur
une


autre requête effectuant le calcul : même problème.
Merci pour votre aide, car je ne sais plus que faire.
Ben


.