Выполнить длительный запрос с фоне скрыто
Upgrader
Дата: 19.12.2011 15:02:47
Таким образом пару тяжелых запросов выполняю: DoCmd.RunSQL "..."
Но на время их выполнения Access виснет и ничего делать нельзя.
А можно сделать так, чтобы они выполнялись в фоне, но не мешая пользователю продолжать работать?
alvk
Дата: 19.12.2011 15:37:49
Upgrader,
Круто было бы, если бы Акцесс мог только с одним ядром работать, когда надо. Попробуйте лучше оптимизировать запрос, построить индексы.
13-й квартал
Дата: 19.12.2011 18:42:03
Upgrader,
DoCmd.RunSQL - это вряд ли, а вот ADODB.Connection.Execute с adAsyncExecute - это может быть (но зависит от Connection). Поищите по форуму слова "Асинхронное выполнение запросов" и adAsyncExecute.
Владимир Саныч
Дата: 19.12.2011 18:54:45
Среди полей запроса можно сделать одно вычисляемое с обращением к функции, которая использует DoEvents (причем лучше не при каждом вызове, а, скажем, один раз из ста).
Upgrader
Дата: 19.12.2011 19:53:20
А так не получится?
CurrentDb.Execute "SELECT * INTO П1 FROM П", dbRunAsync
Без dbRunAsync работает, а с ним пишет ошибку Ошибочный аргумент. (Ошибка 3001)
qwerty112
Дата: 20.12.2011 00:00:57
Upgrader |
---|
А так не получится? CurrentDb.Execute "SELECT * INTO П1 FROM П", dbRunAsync
Без dbRunAsync работает, а с ним пишет ошибку Ошибочный аргумент. (Ошибка 3001) |
нуу, дочитай же справку, раз таки, нашел этот
dbRunAsync