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

Envoi valeur dans autre formulaire

2 réponses
Avatar
domidoc
Bonjour, je dispose d'un formulaire 1 avec un champ RefContrat, et un
sous-formulaire 2, en forme continue, affichant les données pour lesquelles
le champ RefContrat est identique à celle du form1. Ce sous-formulaire
dispose, en en-tête, d'une zone de texte permettant de calculer la somme d'un
champ apparaissant dans chaque détail. Je voudrais que la valeur de cette
somme puisse être envoyer à chaque modification dans un formulaire 3 avec la
condition que la RefContrat soit la même dans ce formulaire 3. Merci

2 réponses

Avatar
Eric
Bonjour,

Une proposition pas très pro mais j'ai pas mieux.
Trois formulaires: frm1, frm2(sous-form de frm1) et frm3.
CumulRecupere est sur le formulaire 3 et Cumul sur le sous-formulaire 2,
il s'agit de ta zone de texte en en-tête. (Adapter les noms)

Sur les évènements Après MAJ et Après Suppression du sous-formulaire :
Private Sub Form_AfterDelConfirm(Status As Integer)
Call pTransfert
End Sub

Private Sub Form_AfterUpdate()
Call pTransfert
End Sub

et la procédure suivante dans le *module du sous-formulaire* :

Private Sub pTransfert()
Me.Requery ' permet de réactualiser le Cumul
'si le formulaire frm3 est chargé
If CurrentProject.AllForms("frm3").IsLoaded Then
With Forms("frm3")
' si le RefContrat de frm3 correspond à celui de frm2
If .RefContrat = Me!RefContrat Then
.CumulRecupere = Me!Cumul ' transfert
' sélection du formulaire 3 pour
DoCmd.SelectObject acForm, "frm3"
' écriture de l'enregistrement
DoCmd.RunCommand acCmdSaveRecord
' on revient sur le formulaire appelant
DoCmd.SelectObject acForm, "frm1"
End If
End With
End If
End Sub

A tester !

Bonjour, je dispose d'un formulaire 1 avec un champ RefContrat, et un
sous-formulaire 2, en forme continue, affichant les données pour lesquelles
le champ RefContrat est identique à celle du form1. Ce sous-formulaire
dispose, en en-tête, d'une zone de texte permettant de calculer la somme d'un
champ apparaissant dans chaque détail. Je voudrais que la valeur de cette
somme puisse être envoyer à chaque modification dans un formulaire 3 avec la
condition que la RefContrat soit la même dans ce formulaire 3. Merci


--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
domidoc
Merci, de cette réponse détaillée et compréhensible


Bonjour,

Une proposition pas très pro mais j'ai pas mieux.
Trois formulaires: frm1, frm2(sous-form de frm1) et frm3.
CumulRecupere est sur le formulaire 3 et Cumul sur le sous-formulaire 2,
il s'agit de ta zone de texte en en-tête. (Adapter les noms)

Sur les évènements Après MAJ et Après Suppression du sous-formulaire :
Private Sub Form_AfterDelConfirm(Status As Integer)
Call pTransfert
End Sub

Private Sub Form_AfterUpdate()
Call pTransfert
End Sub

et la procédure suivante dans le *module du sous-formulaire* :

Private Sub pTransfert()
Me.Requery ' permet de réactualiser le Cumul
'si le formulaire frm3 est chargé
If CurrentProject.AllForms("frm3").IsLoaded Then
With Forms("frm3")
' si le RefContrat de frm3 correspond à celui de frm2
If .RefContrat = Me!RefContrat Then
.CumulRecupere = Me!Cumul ' transfert
' sélection du formulaire 3 pour
DoCmd.SelectObject acForm, "frm3"
' écriture de l'enregistrement
DoCmd.RunCommand acCmdSaveRecord
' on revient sur le formulaire appelant
DoCmd.SelectObject acForm, "frm1"
End If
End With
End If
End Sub

A tester !

Bonjour, je dispose d'un formulaire 1 avec un champ RefContrat, et un
sous-formulaire 2, en forme continue, affichant les données pour lesquelles
le champ RefContrat est identique à celle du form1. Ce sous-formulaire
dispose, en en-tête, d'une zone de texte permettant de calculer la somme d'un
champ apparaissant dans chaque détail. Je voudrais que la valeur de cette
somme puisse être envoyer à chaque modification dans un formulaire 3 avec la
condition que la RefContrat soit la même dans ce formulaire 3. Merci


--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr