![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() доброго времени суток.
есть программка состоящая из 2 форм на которых расположены DBGridы Form1 DBGrid1 Table1 и Form2 DBGrid2 Table2 ДЛЯ ПРИМЕРА в Table1 есть столбцы <№класса> и <индексВЕСА> в Table2 столбцы <ФИО ученика><№класса><вес><рост><возраст><индексВЕСА>) )) в Form2 есть процедура которая расчитывает <индексВЕСА> в Table2 для каждого ученика и результат отображает в DBGrid2 теперь из Form1 если я хочу получить полный расчёт по школе и в Table1, занести усреднённые индексыМАССЫ по классам, я построчно перебираю DBGrid1 и обращаюсь к процедуре в Form2, результат усреднения по классам из Table2 заноситься в <индексВЕСА>Table1 и выбирается следующая строка и т.д. так вот, если процедуру из Form2 запускать из под Form2 то всё расчитывается без проблем если же в Table2 произвести какое нибудь изменение данных<рост><вес>..т.д. и запустить полный расчёт из Form1 то результат часто бывает не верен т.е. сначало надо запустить процедуру в form2 а потом уже запускать полный расчёт из form1 или раз 5 надо перезапускать полный расчёт чтобы получить правильные результаты пользуюсь компонентами ADO так что по нескольку раз приходилось прописывать ADOQuery.close; ADOQuery.open; результат нулевой если запустить прогу на выполнение пошагово через F7)), то всё отрабатывает нормально, как я понимаю таблицы не успевают обновляться, что делать ума не приложу помогите пожалуйста)) |
#2
|
|||
|
|||
![]() Попробуйте изменить свойство:
Код:
ADOQuery.CursorLocation := clUseServer |