Bonjour,

Après plusieurs heures de recherches et de réflexions, je m'en remet à vos connaissances. J'ai une technique qui fonctionne mais qui ne me satisfait pas (le formulaire est un peu long à se rafraîchir).

Voilà le problème :
J'ai un formulaire continu (basé sur la table T_budgets) qui est filtré instantanément sur la valeur d'une liste déroulante (les différents services de l'entreprise) et qui ne m'affiche donc uniquement les enregistrements lié au service choisi (en l'occurence il s'agit d'afficher un budget d'heures pour chaque tâche, que l'on peut modifier).
En gros chaque ligne m'affiche :
l'intitulé de la tâche qui est non-modifiable | le budget d'heures (pour le service choisi) | le budget total (tous services confondus), pour la tâche, qui est non-modifiable.

J'aimerai, lorsque l'utilisateur modifie la valeur du budget (le 2e champ), que le champ qui affiche le budget total (le 3e) soit mis à jour instantanément.

Jusqu'alors j'utilisais la fonction Dsum mais c'est un peu long....Alors j'ai essayé en manipulant les recordset (avec mes petites connaissances). Mais je ne trouve pas de méthode fonctionnelle. Il doit bien y avoir une solution avec ces deux objets:
-La table T_budgets (IDbudget, IDtache, IDservice, budget)
-La requête regroupement R_totalBudgets (IDtache, SommeDebudget)

Merci d'avance

Pour info, voilà le genre de choses que j'ai essayé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub txt_budgetHeures_AfterUpdate()
 
Dim tableBudget As Recordset
Set tableBudget = CurrentDb.OpenRecordset("SELECT * FROM T_Budgets WHERE budget_tache = " & Me.txt_IDtache & ";")
 
tableBudget.MoveFirst
 
While Not tableBudget.EOF
    tableBudget.Edit
    tableBudget("totalHeures") = Me.txt_budgetHeures + DSum("budgetHeures", "T_budgets", "budget_tache = " & Me.txt_IDtache & " AND IDbudget <> " & Me.txt_IDbudget)
    tableBudget.Update
    tableBudget.MoveNext
Wend
tableBudget.Close
Me.Requery
End Sub