CONSULTAR REGISTRO

JB207 18/04/2007 10:51:11
#212490
Bom dia galera...
Me deem uma mão por favor.
Como eu faço pra consultar um registro pelo .Find mas com chave composta?

Exemplo

Dim Criterio As String
With adoBancosAgencias.Recordset
.MoveFirst
Criterio = "Codi_Banc = '" & ConsCodiBanc & "' And Codi_Agen = '" & ConsCodiAgen & "'"
.Find Criterio
If .EOF = True Then
Excl_Regi = False
Mensagem = "Erro ao se posicionar no registro."
frmMsgBox.txtMensagem.Text = Mensagem
frmMsgBox.Show vbModal
Exit Sub
End If
End With

Abraços.[S51]
CAIO.IN.DUST 18/04/2007 11:43:22
#212503
Fera! Não sei se tem como, realmente é a primeira vez que eu vejo isso...
Mais tem outra solução... é usar SQL para buscar do banco só o que te interessa.
ex:


SQL = "Select * From Tabela WHERE Codi_Banc = '" & ConsCodiBanc & "' And Codi_Agen = '" & ConsCodiAgen & "'"

Abra ou execute essa instrução no seu adoBancosAgencias e pronto

Ate mais, Poste se houver duvida
LIONHEART 18/04/2007 11:50:56
#212505
Resposta escolhida
Cara, faz FILTER ao invés de FIND...

Depois que fizer o que quiser, é só fazer Filter = "" que vc recupera o recordset todo.
JB207 18/04/2007 14:44:28
#212561
Fiz assim:

Dim Criterio As String
With adoBancosAgencias.Recordset
.MoveFirst
Do While .EOF = False
If !Codi_Banc = ConsCodiBanc Then
If !Codi_Agen = ConsCodiAgen Then
Exit Sub
End If
End If
.MoveNext
Loop
End With

Excl_Regi = False
Mensagem = "Erro ao se posicionar no registro."
frmMsgBox.txtMensagem.Text = Mensagem
frmMsgBox.Show vbModal

O problema nessa minha rotina é que tiver muitos registros ela fica lenta.
Mas como a única tabela que eu tenho com chave composta é essa, e não vai ter muitos registros nela está valendo, rsrsrsrs
Valeu pela ajuda.
Abraços.

Tópico encerrado , respostas não são mais permitidas