Ir ao conteúdo

Visual Basic, Data e FindFirst


Pulllga

Posts recomendados

Postado

Olá,

Eu estou fazendo um programa de simples cadastros e consultas a banco de dados.

Porém, na hora do cadastro, eu estou fazendo os campos de texto interativos, por exemplo, o campo rua.

A medida que vou digitando "Al", ele vai pesquisando na tabela Ruas e vai completando o campo com o resultado aproximado, a medida que eu digitar "Allan", ele continua consultando e me retorna somente a primeira incidencia de rua com a palavra "Allan".

Mas o problema, é que quando consigo executar o sql, ele nunca retorna resultados!!!

Tentei de três formas:

1 - set RS = data.database.openrecordset ("select * from Ruas where nom = '" + campo.text + "%'")

if rs.recordcount = 0 then

msgbox("Nada")

else

msgbox("Achou")

endif

2 - data.database.openrecordset ("select * from Ruas where nom = '" + campo.text + "%'")

if data.recordset.recordcount = 0 then

msgbox("Nada")

else

msgbox("Achou")

endif

1 - data.database.execute ("select * from Ruas where nom = '" + campo.text + "%'")

if rs.recordcount = 0 then

msgbox("Nada")

else

msgbox("Achou")

endif

Os dois de cima não retornam resultados, e o terceiro dá erro!!!

Mudei, agora estou fazendo com FindFirst, beleza!

Parece funcionar, eu faço a mesma consulta.

Mas no Recordset.Recordcount ele acusa todos os registros, ele não deveria mostrar só 1???

Como eu faço um if usando o FindFirst como método de pesquisa???

Estou fazendo algo errado?

T+ :D:D:D

  • Membro VIP
Postado

Você tem que usar a propriedade NoMatch para saber se a busca retornou resultados. Exemplo:

Dim R As Recordset
    
Set R = Data1.Database.OpenRecordset("select * from tabela;")
    
R.FindFirst "nome_do_campo LIKE 'A*'"
    
If R.NoMatch Then
        
MsgBox "Nada"
        
Else
    
MsgBox R.RecordCount & " registros!"
    
End If

Mas no Recordset.Recordcount ele acusa todos os registros, ele não deveria mostrar só 1???

Não, porque o FindFirst faz busca num conjunto de registros, ele não faz filtro.

:)

Arquivado

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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!