Ir para conteúdo

POWERED BY:

Arquivado

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

Edwilson Curti

Erro ao contar registros na Tabela...Run time error '3709'

Recommended Posts

Boa Tarde Amigos,

 

Estou querendo contar a quantidade de registros em uma Tabela, baseado em uma condição. Vejam o código abaixo:

 

Private Sub txtnpesq_Change()

 

lblnpesq.Caption = Format(txtnpesq.Text, "000000")

CONTADOR_PESQUISAS

 

End Sub

 

 

Private Function CONTADOR_PESQUISAS()

 

Dim nregs As Integer

 

Set conexao_bd = New Connection

Set rsSelecao = New Recordset

 

conexao_bd.ConnectionString = "Provider=ZStyle IBOLE Provider;Data Source=c:\PESQUISA_NET\Data\PESQ001_NET.gdb;UID=sysdba;password=masterkey"

conexao_bd.Open

 

rsSelecao.CursorType = adOpenStatic

rsSelecao.CursorLocation = adUseServer

rsSelecao.LockType = adLockOptimistic

rsSelecao.Open "Select * From QUESTIONARIOS Where COD_PESQ = '" & txtnpesq & "';"

 

nregs = rsSelecao.RecordCount

Label1.Caption = nregs

 

rsSelecao.Close

conexao_bd.Close

 

Set rsSelecao = Nothing

Set conexao_bd = Nothing

 

End Function

 

Quando executo, me apresenta a seguinte msg de erro:

 

"Runtime Error '3709'

A conexão não pode ser usada para realizar esta operação.

Ela está fechada ou é inválida neste contexto."

 

Aí marca a seguinte linha como erro

 

rsSelecao.Open "Select * From QUESTIONARIOS Where COD_PESQ = '" & txtnpesq & "';"

 

Bom, eu não vejo problema algúm aí. Poderiam me dizer o que está acontecendo?

 

Obrigado por ajudarem.

Compartilhar este post


Link para o post
Compartilhar em outros sites

"rsSelecao.CursorLocation = adUseServer"

 

O uso do cursorlocation como aduseserver bloqueia algumas funções justamente para conseguir um desempenho mais rápido, entre estas, o recordcount.

 

Use como aduseclient que deve funcionar, mas lembre-se de voltar para aduseserver depois para ficar mais rápido.

 

Abraços...

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.