olá amigos,
trabalho com uma rede formada por 6 usuarios e estou tendo dificuldades com uma das maquinas (a menos robusta AMD 200 Mhz c/ 64 ram) , a pesquisa de clientes esta demorando muito para retornar ( ao digitar no text preenche um flexgrid com os clientes que atendem as condiçoes), nas outras máquinas as pesquisa é estantania...
Vi en todo site que se usar os CURSORES certos e os devidos TRAVAMENTOS a pesquisa se tornará mais leve e levará menos tempo para retornar
uso Banco de dados MS-access 2002 , Jet4, ADO (Atualizado versao 2.7)
minha string de conexaO é:
Set Conexao = New ADODB.Connection
With Conexao
.Provider = "Microsoft.Jet.OLEDB.4.0"
.Mode = adModeReadWrite
.ConnectionString = "data source=" & DatabasePath & " ;Jet OLEDB:Database Password= " & Senha
.Open
End With
Qual cursor devo usar: AdUseServer
ou
AdUseCliente
a pesquisa é :
sql = "SELECT * FROM TBL_CLIENTE WHERE [" & cmb_campo & "] LIKE " & criterio & " ORDER BY NOME"
If RSTClientes.State = 1 Then Set RSTClientes = Nothing
RSTClientes.Open sql, Conexao, adOpenStatic, adLockOptimistic
e qual tipo de cursor:
adOpenForwardOnly
adOpenKeyset
adOpenDynamic
adOpenStatic
e qual o tipo de travamento:
adLockReadyOnly
adLockOptimistic
adLockPessimistic
adLockBatchOptimistic
principal duvida :
O que Usar quando a pesquisa retorna varios registros e ha necessidade de percorrer por todos os registros e usar a propriedade recorcount.( somente leitura)
há algo que posso mudar na conexao do banco de dados para melhorar a performace.
conto com a ajuda de voceis
um bom fim de semana a todos