2010-07-29 5 views
1

J'ai un formulaire simple dans Access. Il y a un certain nombre de champs de texte. Il y a aussi un champ de texte sur le formulaire avec le "Source de contrôle" défini pour être la somme de tous les autres champs sur le formulaire. Donc, fondamentalement, lorsqu'un utilisateur modifie des données sur d'autres champs, ce champ "somme totale" est automatiquement mis à jour. Cela fonctionne bien.Les événements AfterUpdate et Change du champ de texte lié ne se déclenchent pas

Ce que je voudrais faire maintenant, c'est que lorsque ce champ "somme totale" change, effectuer d'autres actions via VBA. Je pense que je pourrais y parvenir en utilisant les événements AfterUpdate et Change de textfield. Cependant, ils ne tirent pas du tout. Se pourrait-il que ce document ne soit pas au point et ne soit pas mis à jour manuellement? Comment puis-je détecter les changements?

Etes-vous capable de nous aider?

Merci

+0

Il existe un certain nombre d'événements VBA qui ne se déclenchent pas lorsqu'un contrôle est mis à jour par programmation. – Fionnuala

Répondre

1

écrire une fonction comme

Private Function ComputeSum() as Double 
    ' do your stuff 

    ComputeSum = 0 
End Function 

et l'inclure dans la propriété source de contrôle, comme =Control1+Control2+ComputeSum().

Cette fonction est appelée à chaque fois que la somme change.

Questions connexes