Pb actualisation affichage sous-formulaire

Le
Marcotte300
Bonjour,

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

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

Ce sous-formulaire (SFORM2) je l'ai insr dans un sous-
formulaire "Biens" (SFORM1). Puisqu'un client peut
acqurir plusieurs biens et payer chacun de ses biens par
mensualits.

Ce sous-formulaire "Biens" je l'ai insr dans mon
formulaire principal "Clients".

Dans mon formulaire principal "Clients" (FORM), j'ai du
insr un sous-formulaire "TotalMensualite" (SFORM3)
rattach une requte et qui me renvoit un montant total
des mensualits d'un mme client.

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

J'ai procd de la sorte car la table "Mensualits"
contient 3 cls:
- Une cl primaire (ID_Mensualit)
- Une cl secondaire (ID_Bien#) attache la cl
primaire (ID_Bien) de la table "Biens"
- Une cl secondaire (ID_Client#) attache la cl
primaire (ID_Client) de la table "Clients"

Et voici la procdure 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

  • Partager ce contenu :
Vos réponses
Trier par : date / pertinence
Raymond [mvp]
Le #5492921
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" 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
Marcotte300
Le #5492801
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" é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





.



Raymond [mvp]
Le #5492751
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" 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
Publicité
Poster une réponse
Anonyme