Afinal qual é a forma mais rápida de acessar um banco de dados : DAO ou ADO ?
A pergunta é um tanto melindrosa , pois muitos fatores que estão envolvidos não foram definidos.
De forma geral para acessar uma base de dados Access em um computador de mesa ( desktop ) ou mesmo em um ambiente multiusuário a DAO é mais rápido que a ADO . Eu disse em geral pois tudo vai depender do ambiente : a configuração da máquina , a desenho da aplicação , etc...
Então , se você esta fazendo um pequeno programa para uma máquina local ou uma rede com até 20 usuários, e não sabe se usa DAO ou ADO. Se a questão for rapidez escolha a DAO. Com a ADO a informação vai para o Jet que a processa e retorna para a ADO que a repassa para você. Usando a DAO a camada ADO (OLE DB) é removida tornando assim o processo mais rápido. Sem contar que o tamanho do seu aplicativo vai aumentar por conta da MDAC que você terá que distribuir junto com seus discos de instalação.
Se ao invés de resolver o seu problema eu acabei de bagunçar a sua cabeça , calma !!! Eu ainda não terminei...
A ADO é ideal para um ambiente Cliente/Servidor com acesso simultâneo de grande proporções. Neste caso nem pense em usar DAO , muito menos o Access , como base de dados.( ADO Data Control ? não me faça rir...). Nestes casos você deve usar um banco de dados mais potente : SQL Server , Oracle , Sybase , Informix , DB2 , etc...
Nestas situações a ADO é quase imbatível se comparada com a DAO além do que com a ADO sua aplicação se torna mais escalável e portátil ( se você usar SQL , procedimentos armazenados, etc...)
Resumindo:
- Aplicações locais ( monousuárias ) ou para ambiente multiusuário ( de 20 a 30 usuários concorrentes) -> DAO
- Aplicações Cliente/Servidor com acesso concorrente de mais de 30 usuários -> ADO
Clareou, agora ...