gente que trampo, no DAO, em cada forma eu declarava o bd e RSs na seçao geral, no load eu abria, trabalhava, e no query_unload, fechava tudo, pois como havia uma facilidade de trabalhar com indices, era só usar o seek, pois como a tabela estava aberta, escrevia bem menos código. Agora em ADO, abro a conexão em um módulo, e só fecho ao finalizar o sistema, até ai tudo bem, agora os recordsets, achei que ficou mais trabalhoso, pois a cada coisinha que preciso buscar no banco, faço:
Set Rs = New ADODB.Recordset
sql="select codigo from produtos where codigo = " & txtpro & ""
Rs.Open sql, Cnn, adOpenForwardOnly, adLockReadOnly
If Rs.EOF Then
bla bla bla
bla bla bla
else
....
....
endif
rs.close
set rs=nothing.
ou seja, ao invés destas 3 linhas abaixo:
Set Rs = New ADODB.Recordset
sql="select codigo from produtos where codigo = " & txtpro & ""
Rs.Open sql, Cnn, adOpenForwardOnly, adLockReadOnly
eu só usava tabela.seek "=", txtpro.
é lógico, que antes tinha uma tabela inteira aberta, agora no exemplo do rs acima, trago do banco apenas uma linha da tal tabela, e sei também que ela fechada é menos risco.
agora pergunto, sera que compensa todo esta trabalho???????