|
|
|
| Ситуация следущая (упрощённая фомулировка, но сути не меняет): имеем гл. и подч. форму. Подчин. форма ленточная, в ней вводятся данные, числовые, одно поле. В примечании подч. формы в поле (Назовём ПолеСумм) считается сумма введеных значений по всем записям ( =Sum([кол]) . После ввода на главн. форме нажимается кнопка по которой обрабатывается процедура (Proc1) с использаванием ПолеСумм из подчен. формы. Всё работает, но всплыла ошибка - если пользователь не заканчивает ввод в подч. форме переходом на другую запись (т.е вводит число и сразу жмёт кнопку в главной форме) то ПолеСумм считается не правильно (т.е. последнее значение не суммируется, а при одной записи вообще Null ). Вставляем в начало Proc1 метод Refresh для подч. формы. - ПолеСумм обновляется только после выполнения всей процедуры. При методе Requery - выдаёт ошибку Divising by zero. Кусок процедуры:
Forms![главная]!Поле = (Sum + Forms![главная]![Подч]!ПолеСумм) / Forms![главная]![Подч]!ПолеСумм
- при этом после остановки при ошибке Forms![главная]![Подч]!ПолеСумм НЕ РАВНО 0 . Что делать? Как завершить (если пользователь не завершил) ввод записи в подч. форме, пересчитать ПолеСумм и после выполнить процедуру в главной форме? | |
|
| |
|
|
|
| Может попробывать на событие получения фокуса кнопки - делать рекуэри подч.формы | |
|
| |
|
|
|
| Или на событие LostFocus поля | |
|
| |
|
|
|
| Делал - результат как писал выше - поле не обнавляется и даёт ошибку деления на 0 | |
|
| |
|
|
|
| А вы привели синтаксис из процедуры? У вас неправильное обращение к подчиненной форме. | |
|
| |