Что делать? (значения из подчиненных форм не успевают отобразиться)
Apache
Дата: 28.05.2004 11:39:25
У меня на форме кнопка. По ее нажатию VB делает расчет значений, затем переходит на следующую запись, делает подсчет и так до последней записи.
На форме подчиненные формы, значения которых выводятся на основную форму в виде =[Подчиненная форма]![Значение]. Так вот, при переходе с записи на запись значения из подчиненных форм не успевают отобразиться и в момент подсчета в них стоит значение #ошибка#, хотя при ручном перемещении по записям значения выходят нормально.
Пробовал поставить Refresh, пробовал замедлить циклом For...Next. Результат тот-же.
Может кто посоветует что делать?
paparome
Дата: 28.05.2004 11:41:28
Apache
Дата: 31.05.2004 05:22:25
Не то. Происходит то-же самое. Может есть какой-то оператор, который дает возможность программе дождаться когда "вырисуются" все значения и только после этого делать вычисления?
Apache
Дата: 31.05.2004 05:43:15
Поясню.
БД находится на сервере.
Пробовал сделать аналогичное в одной БД на своем компе, все работает. Обновление данных с сервера происходит дольше, отчего и проблемы.
Rivkin Dmitry
Дата: 31.05.2004 09:25:33
Вместо .Requery и .Refresh попробуй .Recalc. Правда, при этом возможны вылеты, так как команда пересчитывает все
Galustov
Дата: 31.05.2004 10:02:31
А может всё делать с помощью запросов? Ведь Главная форма-Подчинённая форма это тот же запрос... Тогда все значения ты получаешь с помощью запроса и обновляешь данные, а потом просто обновляешь форму?
Что скажешь?
Latuk
Дата: 31.05.2004 11:42:54
>пробовал замедлить циклом For...Next
Сделай задержку с проверкой на ошибку
Do While IsError(МоеПоле)
DoEvents
Loop
paparome
Дата: 31.05.2004 11:45:25
| | автор |
| | Do While IsError(МоеПоле) DoEvents Loop |
А если что-то напартачит пользователь и там окажется "пожизненная" ошибка?
Повиснет же все нафиг?
Latuk
Дата: 31.05.2004 11:46:18
На всякий случай в условие лучше еще дбавить
проверку на "вечную" ошибку
чтобы не зацикливалась
задержать пока ошибка но не более ... секунд
Apache
Дата: 03.06.2004 09:34:36
Do While результата не дал.
.Recalc -- глухое зависание.
Видимо придется сочинять все на VB.