Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

fpimenta

em contagem de registros de uma tabela

Recommended Posts

ola pessoal estou com o seguinte problema

 

tenho uma tabela com 22000 registros e estou utilizando o seguinte codigo para me conectar ao banco

 

Dim conexao As ADODB.Connection

Set conexao = New ADODB.Connection

Dim tabela As ADODB.Recordset

Set tabela = New ADODB.Recordset

Dim sql

Dim contador As Integer

 

 

If conexao.State = adStateClosed Then

conexao.ConnectionString = "Provider = Microsoft.jet.OLEDB.4.0;" & _

"Data Source = x:\suporte97.mdb;Persist Security Info=False;"

conexao.Open

End If

 

 

sql = "select * from tbdepto"

tabela.Open sql, conexao

 

'=============

aqui esta o problema

 

 

não estou conseguindo inserir um codigo que conte todos os registros

 

fiz este

 

 

while not tanela.eof

contador = contador + 1

wend

 

ai o programa fica louco e entra em looping infinito

 

 

onde estou errado

 

 

grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

seu problema, provavelmente não está no Loop que você fez, mais na abertura da sua tabela, verifique em seu código depois de abrir a tabela com quantos registros ela está, colocando um 'breakpoint' em seu programa e se estiver tudo ok você poderá simplismente fazer o seguinte

 

contador = tabela.RecordCount

 

ai você não precisa fazer o loop... beleza?

 

falows.

 

Marcelo A Ferreira

Analista / Programador

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode fazer assim:select max(codDep)+1 CodDep from departamentoassim você pega o codDep +1 caso você queira adicionar um novo departamento...jolienai@bol.com.br

Compartilhar este post


Link para o post
Compartilhar em outros sites

e...

while not tanela.eof

contador = contador + 1

wend

ele entrou em loop pq não foi definido a passagem para o proximo registro, deste modo fica sempre no primeiro...

 

p/ evitar esse tipo de loop:

 

while not tanela.eof

contador = contador + 1

tanela.movenext

wend

mas p/ isso segue as dicas q a galera postou ae, 22000 registros é muita coisa p/ fazer só um total.

 

ps: se for usar recordcount, provavelmente retornará -1, se acontecer isso:

antes de abrir a conexão faz conexao.cursorlocation = aduseclient

 

flws

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.