ник: osmor
Причину сказать могу, но почему так происходит и как с этим бороться не знаю...
причина в том, что первая подчиненная форма приязана к данным основной формы, recalc вызывает какие-то события которые возвразают фокус в измененной поле.
если убрать связь между этими формами, то все работает как надо.
Как решить эту проблему в данной реализации я не знаю...
Можно например избавиться от второй подчиненной формы (где сумма показывается), и выводить сумму программно используя dsum (или рекордсет)
или посчитать итоги в подчинененной форме и передать их в основную как источник значения поля...
Делать пример сейчас нет времени....