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
Partager