2010-07-29 2 views
1

У меня простая форма в Access. Существует несколько текстовых полей. Существует также одно текстовое поле в форме, где «Контрольный источник» установлен как сумма всех остальных полей формы. Таким образом, в основном, когда пользователь изменяет данные в других полях, это поле «общая сумма» автоматически обновляется. Это прекрасно работает.Связанные текстовые поля AccessUpdate и изменение событий не срабатывают

Что я хотел бы сделать сейчас, когда это поле «общая сумма» изменяется, выполните другие действия через VBA. Я мог бы достичь этого, используя события AfterUpdate и Change текстового поля. Однако они вообще не стреляют. Может быть, потому, что эта подача не находится в фокусе и не обновляется вручную? Как я могу обнаружить изменения?

Вы можете помочь?

Благодаря

+0

Существует несколько событий VBA, которые не срабатывают при программном обновлении элемента управления. – Fionnuala

ответ

1

Написать функцию, как

Private Function ComputeSum() as Double 
    ' do your stuff 

    ComputeSum = 0 
End Function 

и включить его в свойстве источника управления, как =Control1+Control2+ComputeSum().

Эта функция вызывается каждый раз, когда сумма изменяется.

Смежные вопросы