ADO+Access Как показать прогресс update?

YuriyD

Добрый день!Скажите есть ли способ при ADO+Access (Delphi 7) выводить прогресс долгого update-а ??? Для асинхронного Fetch-а там да есть средства, а вот для запроса, который не возвращает данные никак не получается.
7 ответов

YuriyD

Используйте Splash-форму. На форуме не раз обсуждалось.


YuriyD

Для асинхронного Fetch-а там да есть средства, а вот для запроса, который не возвращает данные никак не получается.
А как ты себе это представляешь, например для простейшего запроса
UPDATE Tbl <b>SET</b> Fld=Fld*<b>1</b>.<b>1</b> WHERE x=чтото <b>AND</b> ...


YuriyD

бойан !Реальный прогресс узнать практически нельзя. Можно только имитировать.Показывайте TAnimate с авишкой прогресса. :)


YuriyD

А как ты себе это представляешь, например для простейшего запроса
UPDATE Tbl <b>SET</b> Fld=Fld*<b>1</b>.<b>1</b> WHERE x=чтото <b>AND</b> ...
Должен же Access возвращать кол-во обработанных записей этим запросом в каждый момент времени. Что-то вроде RowAffected. Ведь при выполнении update непосредственно в Access там вроде бы показывается ProgressBar.


YuriyD

бойан !Реальный прогресс узнать практически нельзя. Можно только имитировать.Показывайте TAnimate с авишкой прогресса. :)
Ну что ж. На нет и суда нет. Спасибо.


YuriyD

Должен же Access возвращать кол-во обработанных записей этим запросом в каждый момент времени.
Вовсе не должен. Более того, на это вообще не стоит расчитывать в какой-лиюбо СУБД.З.Ы Как данную ситуацию визуально отобразить, Вам уже сказали.


YuriyD

Должен же Access возвращать кол-во обработанных записей этим запросом в каждый момент времени. Что-то вроде RowAffected. Ведь при выполнении update непосредственно в Access там вроде бы показывается ProgressBar.
А количество обработаных записей ничего не дает, без знания количества записей для обработки, оно тогда от TAnimate ничем не отличается.