Notifications
Clear all

Capturar último registro - Excel x Access

4 Posts
2 Usuários
0 Reactions
1,279 Visualizações
depoisteconto
(@depoisteconto)
Posts: 183
Estimable Member
Topic starter
 

Caros,

Atualmente para saber quantos registros estão dispostos no meu nome em uma tabela Access, faço assim:

Eu sou um atualizador, existem outros 3, e o total de registros dessa tabela chegam a 5mil. Eu tenho 2mil registros, logo para atingir essa contagem o código abaixo demora um "bucado".

O "sistema" utiliza formulários no excel e banco de dados access, via conexão ADO;

sql = " SELECT * FROM Cadastro "
sql = sql & " WHERE Atualizador = '" & Me.atualizador.Text & "'"
    
cx.Conectar

With banco
    .CursorType = adOpenKeyset
    .CursorLocation = adUseClient
    .Source = sql
    .ActiveConnection = cx.Conn
    .Open
End With
 
Dim Cont As Long

Cont = 0
    
While Not banco.EOF
Cont = Cont + 1
banco.MoveNext
Wend

Me.totalreg.Text = Cont
    
cx.Desconectar

Eu consegueria realizar essa contagem de forma mais rápida e fácil?

At

 
Postado : 18/03/2014 9:46 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Experimente contar diretamente no banco.
Seria +/- assim:

    Sql = " SELECT Count(Atualizador)as Total_Atualizador FROM Cadastro "
    Sql = Sql & " WHERE Atualizador = '" & Me.atualizador.Text & "'"
       
    cx.Conectar

    With banco
        .CursorType = adOpenKeyset
        .CursorLocation = adUseClient
        .Source = Sql
        .ActiveConnection = cx.Conn
        .Open
    End With
' cria o recordset com os dados
    Set ors = New ADODB.Recordset
    ors.Open cx, , adOpenKeyset, adLockOptimistic

    Me.totalreg.Text = ors.field(1)
    cx.Desconectar

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 18/03/2014 10:42 am
depoisteconto
(@depoisteconto)
Posts: 183
Estimable Member
Topic starter
 

Caro Reinaldo, tudo bem?

Obrigado por responder;

Tive dificuldade para entender sua sugestão e não consegui evoluir por ela. O que seria Total_Atualizador? Uma variável? Se sim, onde seria usada?

Consegui resolver de outra forma e com auxílio desse tutorial muito bom;

No meu caso mantive os parametros de consulta da sql, a configuração do recordset e utilizei o método MoveLast e depois AbsolutePosition;

Com isso localizei o último registro de acordo com os parametros informados;

At

 
Postado : 21/03/2014 12:36 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Total_Atualizador foi o nome "dado" ao campo de contagem do registro Atualizador, caso contrario o sql obteria um nome tipo countofAtualizador ou algo parecido
Na verdade não me atentei ao titulo, mas sim ao código, onde era contado numero de registros ("Cont = Cont + 1"), e minha sugestão era contar diretamente.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 21/03/2014 1:21 pm