Bonjour,
J'ai, dans formulaire qui permet de remplir une table, un champ qui a toujours la même valeur.
J'ai créé une zone de texte et je souhaiterai que sa mise a jour change la valeur dans toutes les lignes du champ correspondant.
Pour cela j'ai fais une procédure événementielle après mise à jour :
Private Sub Texte156_AfterUpdate()
Me!donnees_rendement_calc.Value = Me!Texte156.Value
Me!Texte156.Value = EstVide
End Sub
Ou
Private Sub Texte156_AfterUpdate()
Me.donnees_rendement_calc = Me.Texte156
Me.Texte156 = EstVide
End Sub
Mais cela ne rempli qu'une seule ligne.
Je voudrai que cela remplisse automatiquement toutes les cases du champs donnees_rendement_calc, et je pense que cela doit être assez simple non?
Ou est-il nécessaire pour cela d'établir un Recordset de ma table pour ensuite alimenter chaque ligne du champ via une boucle VBA ? Cela me semble compliqué pour pas grand chose.
Private Sub Texte156_AfterUpdate()
Dim rst As dao.Recordset
Dim donnees_rendement_calc As Double
Set rst = CurrentDb.OpenRecordset("T1_Donnees", dbOpenDynaset)
For donnees_rendement_calc = First To donnees_rendement_calc = Last
rst.AddNew
rst("donnees_rendement_calc") = Me.Texte156
rst.Update
Next
rst.Close
Set rst = Nothing
End Sub
Quelqu'un aurai une solution pour moi svp ?
Merci
Partager