В зависимости от используемого оператора SQL (т. Е. Вашей переменной tsSQL), ваш набор записей должен немедленно открываться, будь то ADO или DAO.
Идеи, которые приходят мне на ум: ваша постоянная связь? В 2007 году это, по-видимому, вызывает большую задержку, чем в 2003 году. Возможно, это время отбрасывает и восстанавливает соединение. С формами это происходит, когда ваш источник записей пуст и задан в коде, поэтому рекомендуется всегда иметь источник записей, такой как «tblBlankTable» (небольшая таблица с одной записью, чтобы поддерживать постоянное соединение все время в форме, которая всегда открытый). Задержка 4-5 секунд - это то, что вы получаете, когда этого не происходит. Попытайтесь убедиться, что у вас есть форма, связанная с вашей БД все время, когда вы запускаете rs.open и видите, работает ли это. Возможно, вам понадобится форма с подключением ADO в вашем случае. Там написано много писем на форумах Access об этом.
Быстрее ли это, когда вы единственный пользователь, или когда у других есть БД с открытым файлом блокировки? Это контрольный знак.
Еще одна идея - правильно ли вы проиндексировали все, когда будете обновлены. Разве базовая БД осталась прежней или перешла из MDB в ACCDB? Вы не указали, что находится в tSQL, поэтому, возможно, вы присоединяетесь к неиндексированным полям или к чему-то, что заставляет этот конкретный tSQL работать медленно и просто нужно добавить первичный ключ.
Если ваш «tsSQL» включает в себя запросы, я прочитал, что при обновлении важно перекомпилировать все ваши запросы - перейдите в режим разработки с каждым, затем запустите их, а затем сохраните их снова.
Вы можете попробовать подключиться к БД с помощью собственной строки подключения - для MDB/Jet есть один формат, а другой для ACCDB/Ace. Есть провайдеры для обоих, которые обычно используются из Excel в MDB или ACCDB, но, возможно, могут работать в Access, по крайней мере, для отладки вашей проблемы.
Я воспользовался этим http://support.microsoft.com/kb/275085 (обновил свойства подкаталога для всех таблиц на «[Нет]» ... работая, чтобы увидеть, помогает ли это. – Patrick
вышедший результат дает результаты что я ищу – Patrick
Почему вы используете ADO вместо более естественного DAO? –