На самом деле, даже если ОС многозадачная, то эта самая многозадачность работает только если это предусмотренно в коде программы...
На практике же при выполнении больших циклов в программном коде (касается всех прог, но говорю именно об MS Access) не предусматривающем многозадачности - приложение начинает тормозить и не давать выполнять каких-либо действий даже с другими прогами...
РЕШЕНИЕ ПРОБЛЕМЫ:
Для решения этой проблемы нужно всего лишь поместить в цикл одну команду:
Код: Выделить всё
DoEvents
пример:
Код: Выделить всё
private sub cikl()
for i=1 to 1000 step 1
a=a+i 'само тело цикла (операторы и функции)
DoEvents
next i
end sub
НО! Этот пример решает одну проблему, но создает одновременно другую... Этой самой "другой" проблемой является (тут умное слово должно быть - но забыл... ) вобщем появляется возможность запустить один и тот же цикл много раз и тем самым переполнить память и так же завесить систему...
Хотя и это не проблема... Нужно установить переменную которая будет указывать "запущен ли цикл или функция" и если запущен, то не запускать его снова...
Если появятся интересующиеся, то я напишу как это организовать и тогда у вас будет реально многозадачное приложение!
УДАЧИ!!!