Ir para conteúdo

POWERED BY:

Arquivado

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

Echoff

Sistema de Busca em VB?

Recommended Posts

É pessoal é a Primeira vez que utilizo esse fórum espero que você´s possam me ajudar. Eu sou leigo em programação ainda... mais espero que você´s possam sanar essa minha grande dúvida.

 

Vamos lá eu fiz uma tela de busca onde que a pessoa escolha em uma combbox o tipo de busca que ela quer fazer por exemplo: por nome ou CPF depois em baixo tem um campo para ela digitar a palavra chave.

 

E no final da página tem a botão buscar.

 

O Código fonte do botão buscar é:

 

Private Sub cmdbuscar_Click()While MSFlexGrid1.Rows <> 1 'nessa parte eu limpo flexgrid para fazer a pesquisa    MSFlexGrid1.TextMatrix(MSFlexGrid1.Rows - 1, 1) = ""    MSFlexGrid1.TextMatrix(MSFlexGrid1.Rows - 1, 2) = ""    MSFlexGrid1.Rows = MSFlexGrid1.Rows - 1WendIf txtbusca.Text <> "" And boxbuscar.Text <> "" Then ' aqui eu começe a pesquisa    Set banco = OpenDatabase(App.Path & "\digital.mdb") 'abrindo o banco    sql = "Select * From usuarios Where " & boxbuscar.Text & " like '*" 'declarando o comando que eu quero , que no caso ser para procurar tudo o que possua    sql = sql & txtbusca.Text & "*'" ' o caracter que eu digitei no campo palavra chave    Set record = banco.OpenRecordset("tabmembro", dbOpenTable)    Atualiza ' joga os dados da tabela para o formElse    MsgBox "Preencha todo os campos Corretamente", , "Atenção" ' caso o usuario não preencha os campos ele exibe essa messagem    limpa 'aqui se limpa tudo o flexgrid, o text, combo.End IfEnd Sub

O único problema que ele busca todos e naum exatamente a palavra chave que eu digitei.

 

Fico no Aguar da Ajuda de você´s... flow http://forum.imasters.com.br/public/style_emoticons/default/joia.gif http://forum.imasters.com.br/public/style_emoticons/default/excl.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pra começar, você não precisa abrir o DATABASE para fazer uma consulta em SQL. Uma opção é criar um RECORDSET "virtual" e usar IF para fazer as consultas, assim:

 

 

If Combo1.Text = "Nome" then  Set Temp = banco.OpenRecordset("SELECT * From usuarios Where usuario.nome like '"& Combo1.Text + "*" &"'",dbOpenDynaset)ElseIf Combo1.Text = "CPF" Then  Set Temp = banco.OpenRecordset("SELECT * From usuarios Where usuario.cpf = '"& Combo1.Text &"'",dbOpenDynaset)End If

OBS: vale lembrar que "Temp" deve estar declarado junto com os demais RecordSet's

 

Espero ter ajudado

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.