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

Pb actualisation affichage sous-formulaire

3 réponses
Avatar
Marcotte300
Bonjour,

J'ai un petit soucis d'actualisation de donn=E9es dans mon=20
formulaire principal "Clients" (FORM).

J'ai cr=E9=E9 un sous-formulaire "Mensualit=E9s" (SFORM2) dans=20
lequel je saisie des mensualit=E9s. Ces mensualit=E9s=20
concerne un bien acquis par un client.

Ce sous-formulaire (SFORM2) je l'ai ins=E9r=E9 dans un sous-
formulaire "Biens" (SFORM1). Puisqu'un client peut=20
acqu=E9rir plusieurs biens et payer chacun de ses biens par=20
mensualit=E9s.

Ce sous-formulaire "Biens" je l'ai ins=E9r=E9 dans mon=20
formulaire principal "Clients".

Dans mon formulaire principal "Clients" (FORM), j'ai du=20
ins=E9r=E9 un sous-formulaire "TotalMensualite" (SFORM3)
rattach=E9 =E0 une requ=EAte et qui me renvoit un montant total=20
des mensualit=E9s d'un m=EAme client.

Petit soucis, lorsque je modifie une mensualit=E9 ou que=20
j'ajoute une mensualit=E9 dans mon sous-
formulaire "Mensualit=E9s" (SFORM2), je n'arrive pas =E0=20
actualiser mon sous-formulaire (SFORM3).

J'ai proc=E9d=E9 de la sorte car la table "Mensualit=E9s"=20
contient 3 cl=E9s:
- Une cl=E9 primaire (ID_Mensualit=E9)
- Une cl=E9 secondaire (ID_Bien#) attach=E9e =E0 la cl=E9=20
primaire (ID_Bien) de la table "Biens"
- Une cl=E9 secondaire (ID_Client#) attach=E9e =E0 la cl=E9=20
primaire (ID_Client) de la table "Clients"

Et voici la proc=E9dure que j'ai mis en place dans le=20
champ "Mensualite" de mon SFORM2:

Private Sub Mensualite_AfterUpdate()
DoCmd.OpenQuery "Mensualite", acViewNormal, acEdit
DoCmd.Requery ""
DoCmd.Close acQuery, "Mensualite"
Forms!Clients!TotalMensualite.Requery
End Sub

Alors si quelqu'un =E0 une piste.

Cordialement

3 réponses

Avatar
Raymond [mvp]
Bonjour.

pour actualiser le TotalMensualite
Forms!Clients!TotalMensualite.Form.Requery
ou
Forms!Clients!TotalMensualite.Requery
que tu mets dans l'événement Forms_Afterupdate de ton sous-formulaire
Mensualités. Tu n'as pas besoin d'ouvrir une requête.
Private Sub Mensualite_AfterUpdate()

Forms!Clients!TotalMensualite.Form.Requery
End Sub

Eventuellement, remplacer les noms par les noms réels des contrôles
sous-formulaires.

Ne jamais nommer un formulaire Form car c'est un mot réservé.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Marcotte300" a écrit dans le message
de news: 24e701c4bf3a$17a73920$
Bonjour,

J'ai un petit soucis d'actualisation de données dans mon
formulaire principal "Clients" (FORM).

J'ai créé un sous-formulaire "Mensualités" (SFORM2) dans
lequel je saisie des mensualités. Ces mensualités
concerne un bien acquis par un client.

Ce sous-formulaire (SFORM2) je l'ai inséré dans un sous-
formulaire "Biens" (SFORM1). Puisqu'un client peut
acquérir plusieurs biens et payer chacun de ses biens par
mensualités.

Ce sous-formulaire "Biens" je l'ai inséré dans mon
formulaire principal "Clients".

Dans mon formulaire principal "Clients" (FORM), j'ai du
inséré un sous-formulaire "TotalMensualite" (SFORM3)
rattaché à une requête et qui me renvoit un montant total
des mensualités d'un même client.

Petit soucis, lorsque je modifie une mensualité ou que
j'ajoute une mensualité dans mon sous-
formulaire "Mensualités" (SFORM2), je n'arrive pas à
actualiser mon sous-formulaire (SFORM3).

J'ai procédé de la sorte car la table "Mensualités"
contient 3 clés:
- Une clé primaire (ID_Mensualité)
- Une clé secondaire (ID_Bien#) attachée à la clé
primaire (ID_Bien) de la table "Biens"
- Une clé secondaire (ID_Client#) attachée à la clé
primaire (ID_Client) de la table "Clients"

Et voici la procédure que j'ai mis en place dans le
champ "Mensualite" de mon SFORM2:

Private Sub Mensualite_AfterUpdate()
DoCmd.OpenQuery "Mensualite", acViewNormal, acEdit
DoCmd.Requery ""
DoCmd.Close acQuery, "Mensualite"
Forms!Clients!TotalMensualite.Requery
End Sub

Alors si quelqu'un à une piste.

Cordialement
Avatar
Marcotte300
Merci pour la procédure.

Existe-t-il un moyen pour que cette mise à jour s'execute
dès que je valide la saisie d'une mensualité?

Parce que là il me faut passer à la ligne suivante pour
que la mise à jour soit effective?

Cordialement

-----Message d'origine-----
Bonjour.

pour actualiser le TotalMensualite
Forms!Clients!TotalMensualite.Form.Requery
ou
Forms!Clients!TotalMensualite.Requery
que tu mets dans l'événement Forms_Afterupdate de ton
sous-formulaire

Mensualités. Tu n'as pas besoin d'ouvrir une requête.
Private Sub Mensualite_AfterUpdate()

Forms!Clients!TotalMensualite.Form.Requery
End Sub

Eventuellement, remplacer les noms par les noms réels
des contrôles

sous-formulaires.

Ne jamais nommer un formulaire Form car c'est un mot
réservé.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Marcotte300" a
écrit dans le message

de news: 24e701c4bf3a$17a73920$
Bonjour,

J'ai un petit soucis d'actualisation de données dans mon
formulaire principal "Clients" (FORM).

J'ai créé un sous-formulaire "Mensualités" (SFORM2) dans
lequel je saisie des mensualités. Ces mensualités
concerne un bien acquis par un client.

Ce sous-formulaire (SFORM2) je l'ai inséré dans un sous-
formulaire "Biens" (SFORM1). Puisqu'un client peut
acquérir plusieurs biens et payer chacun de ses biens par
mensualités.

Ce sous-formulaire "Biens" je l'ai inséré dans mon
formulaire principal "Clients".

Dans mon formulaire principal "Clients" (FORM), j'ai du
inséré un sous-formulaire "TotalMensualite" (SFORM3)
rattaché à une requête et qui me renvoit un montant total
des mensualités d'un même client.

Petit soucis, lorsque je modifie une mensualité ou que
j'ajoute une mensualité dans mon sous-
formulaire "Mensualités" (SFORM2), je n'arrive pas à
actualiser mon sous-formulaire (SFORM3).

J'ai procédé de la sorte car la table "Mensualités"
contient 3 clés:
- Une clé primaire (ID_Mensualité)
- Une clé secondaire (ID_Bien#) attachée à la clé
primaire (ID_Bien) de la table "Biens"
- Une clé secondaire (ID_Client#) attachée à la clé
primaire (ID_Client) de la table "Clients"

Et voici la procédure que j'ai mis en place dans le
champ "Mensualite" de mon SFORM2:

Private Sub Mensualite_AfterUpdate()
DoCmd.OpenQuery "Mensualite", acViewNormal, acEdit
DoCmd.Requery ""
DoCmd.Close acQuery, "Mensualite"
Forms!Clients!TotalMensualite.Requery
End Sub

Alors si quelqu'un à une piste.

Cordialement





.



Avatar
Raymond [mvp]
Tu peux la mettre sur le AfterUpdate du champ de saisie des mensualités.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Marcotte300" a écrit dans le message
de news: 1e8b01c4bf67$66953e10$
Merci pour la procédure.

Existe-t-il un moyen pour que cette mise à jour s'execute
dès que je valide la saisie d'une mensualité?

Parce que là il me faut passer à la ligne suivante pour
que la mise à jour soit effective?

Cordialement