Изменение порядка не сработает, так как вы снова получите топ 5
Я думаю, что вы можете получить следующий топ-5, выполнив NOT IN первый топ-5, как в
SELECT TOP 5 *
FROM Tasks
WHERE (ID Not In
(SELECT TOP 5 ID FROM Tasks ORDER BY ID)
ORDER BY ID;
В VBA это будет выглядеть одинаково с продолжением строки ("_") и конкатенацией ("&")
myQuery = "SELECT TOP 5 * FROM Tasks " & _
"WHERE (ID Not In (SELECT TOP 5 ID FROM Tasks ORDER BY ID) " & _
"ORDER BY ID"
РЕДАКТИРОВАНИЕ - Используйте двухэтапный запрос и временную таблицу для ускорения результатов в 100 раз
- Сделать таблицу tmp для хранения результатов Top 5
SELECT TOP 5 ID INTO tmpTop5 FROM Tasks ORDER BY ID;
- Исключить эти результаты из второго запроса Top 5
SELECT TOP 5 * FROM Tasks WHERE ID Not In (SELECT ID FROM tmpTop5) ORDER BY ID;