Это не вопрос о том, что лучше, а вопрос о том, почему они отличаются функционально.Проблема, с которой я столкнулся, была решена, но мне любопытно, почему это происходит.
Справочная информация - использование Excel vba для извлечения данных из базы данных Access.Когда пользователь нажимает кнопку, из Access извлекается набор записей, и он добавляет различные данные в электронную таблицу.Затем другой набор записей извлекается из другого запроса для заполнения другой части электронной таблицы.
Что делает ADO - ADO отлично работает для моего первого набора записей.Однако мой второй набор записей идет к запросу в Access, выполняется и не возвращает строк.Если я запускаю этот запрос в Access, он открывается (примерно через 3-4 секунды).Этот запрос имеет несколько объединений, вычисляемых элементов, ограничений и, возможно, запросов на объединение (я пробовал много разных способов, с объединением / без и т. Д.).Я попытался закрыть и снова открыть соединение ADO.Я попытался изменить значения тайм-аута, и я даже протестировал использование команды ADO для запуска запросов таблицы к этим данным, а затем извлекал их из таблицы (это, кстати, работает, но не в лучшем случае, так как данные постоянно меняютсяи я не хочу запускать запрос make table каждый раз, когда кто-то использует этот инструмент).
Итак, я изменил второй запрос данных на DAO, и вот, это работает.Первое извлечение данных - это все еще ADO (который я обычно предпочитаю использовать), но сейчас я рассматриваю вопрос об изменении его на DAO, потому что я предпочел бы иметь один метод доступа к данным в коде.
Итак, кто-то может объяснитьмне почему ADO не будет тянуть данные в одном случае, а DAO будет?Опять же, это чисто для информационных целей.