Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Pesquisa pelo nome digitado


Fabin

Pergunta

e aew galera blzinha???

to com a seguinte duvida..

to querendo fazer um botao onde quando o usuario clicar nele vai aparecer um inputbox para o mesmo digitar o nome a ser pesquisado e se existir o nome ou parte do nome digitado no BD ele carrega os dados na tela

entenderam???

como eu faria isso???

valews

abraço

t+

Editado por Fabin
Link para o comentário
Compartilhar em outros sites

20 respostass a esta questão

Posts Recomendados

  • 0

é só pesquisar o valor digitado através do like....

"Select * from TABELA where NOME DO CAMPO like '%valor_digitado%'"

o sinal de porcentagem serve como coringa, ou seja neste casou estou procurando tudo que contenha aquele valor, caso queira pesquisar o que está no inicio ficaria, like 'valor_digitado%' e só quando o valor tiver no final, like '%valor_digitado'.

Link para o comentário
Compartilhar em outros sites

  • 0
é só pesquisar o valor digitado através do like....

"Select * from TABELA where NOME DO CAMPO like '%valor_digitado%'"

o sinal de porcentagem serve como coringa, ou seja neste casou estou procurando tudo que contenha aquele valor, caso queira pesquisar o que está no inicio ficaria, like 'valor_digitado%' e só quando o valor tiver no final, like '%valor_digitado'.

ok rphael ate ai eu sabia um pouco já

mas meu problema é como vou carregar os addos depois

meu botao está assimpor enquanto

dado = InputBox("Digite um nome a ser pesquisado!")
rsSeleçao.Open "SELECT * FROM Estagiarios WHERE Nome LIKE '%dado%'", conexao, adOpenKeyset, adLockReadOnly

valews pela ajuda brother

abraçao

t+

Link para o comentário
Compartilhar em outros sites

  • 0
Tente assim:

rsSeleçao.Open "SELECT * FROM Estagiarios WHERE Nome LIKE '%" & dado & "%'", conexao, adOpenKeyset, adLockReadOnly

a pesquisa eu sei que ficaria assim mesmo

o meu problema como vou carregar os dados atraves do nome encontrado entendeu???

eu uso essa pesquisa e logo depois uso rs.fields para preencher os campos

agora como voi fazer isso pelo nome encontrado entendeu??

isso que eu não to conseguindo fazer

valews pela ajuda

abraço

t+

Link para o comentário
Compartilhar em outros sites

  • 0

não entendi muito bem..

você tem um botão de pesquisa? e após concluir sua pesquisa que preencher sua Form??

se for isso é só colocar assim:

textBox1.text = rs("nome_campo")

textBox2.text = rs("nome_campo")

textBox3.text = rs("nome_campo")

textBox4.text = rs("nome_campo")

textBox5.text = rs("nome_campo")

.

.

.

e por aí vai...

é isso que você quer?

Link para o comentário
Compartilhar em outros sites

  • 0
não entendi muito bem..

você tem um botão de pesquisa? e após concluir sua pesquisa que preencher sua Form??

se for isso é só colocar assim:

textBox1.text = rs("nome_campo")

textBox2.text = rs("nome_campo")

textBox3.text = rs("nome_campo")

textBox4.text = rs("nome_campo")

textBox5.text = rs("nome_campo")

.

.

.

e por aí vai...

é isso que você quer?

raphael eu coloquei assim

Private Sub cmdPesquisar_Click()
dado = InputBox("Digite um nome a ser pesquisado!")
sSQL = "SELECT * FROM Estagiarios WHERE Nome LIKE '%" & dado & "%'"
rsSeleçao.Close
rsSeleçao.Open sSQL, conexao, adOpenKeyset, adLockReadOnly
If Not rsSeleçao.BOF And rsSeleçao.EOF Then
        txtNome.Text = rsSeleçao.Fields("Nome")
        cboInstituiçao.Text = rsSeleçao("Instituiçao")
        cboCurso.Text = rsSeleçao("Curso")
        txtPeriodo.Text = rsSeleçao("Periodo")
        cboTurno.Text = rsSeleçao("Turno")
        lblMASP.Caption = rsSeleçao("MASP")
        cboSetor.Text = rsSeleçao("Setor")
        txtMatricula.Text = rsSeleçao("Matricula")
        cboChefia.Text = rsSeleçao("Chefia")
        txtDataInicio.Text = rsSeleçao("DataInicio")
        txtDataTermino.Text = rsSeleçao("DataTermino")
        txtDtaSaida.Text = rsSeleçao("DataSaida")
        txtHorario.Text = rsSeleçao("Horario")
Else
    MsgBox "Nome não Cadastrado!", vbInformation + vbOKOnly, "Nome não Encontrado"
End If
End Sub

porém ele passa pelo bof e eof e depois vai pra msgbox

tem alkguma coisa errada ai??

valews pela ajuda brother

abraço

t+

Link para o comentário
Compartilhar em outros sites

  • 0
olha como você quer que o arquivo seja o primeiro e o último?? ( Begin Of File, End Of File), escolha apenas um junto com um loop para caso tenha mais de um arquivo.

rphael não entendi muito bem não

como é que tenho que fazer???

colocar o do while ou com bof ou eof seria isso???

como faria???

abraço

t+

Link para o comentário
Compartilhar em outros sites

  • 0

isso aconselho com o negando o eof...parecido com o preenchimento da combo..

porem analisando aqui, você teria um problema, pois ele iria preencher com todos os registros que ele achar, e deixar o último, você teria que fazer um controle de ir parando a cada registro, um controle tipo próximo, anterior

mas o IF para preencher é esse:

if not rs.eof then
   textbox1.text = rs("nome")
   textBox2.text = rs("tel")
  .
  .
  .
end if

algo assim agora como você faz a pesquisa?

Link para o comentário
Compartilhar em outros sites

  • 0
isso aconselho com o negando o eof...parecido com o preenchimento da combo..

porem analisando aqui, você teria um problema, pois ele iria preencher com todos os registros que ele achar, e deixar o último, você teria que fazer um controle de ir parando a cada registro, um controle tipo próximo, anterior

mas o IF para preencher é esse:

if not rs.eof then
   textbox1.text = rs("nome")
   textBox2.text = rs("tel")
  .
  .
  .
end if
algo assim agora como você faz a pesquisa?
olha so papahel alterei o codigo e deu certo porem quero algo do tipo listou os nomes encontrados e o usuario vai navegando com o botao proximo ou anterior mas isso ordenado pelo nome por exemplo achou os fabios anterior então vai vir a letra e posteriro a letra g mas no meu codigo ta assim acha os nomes e o usuario vai navegando porem não fica em ordem de nome por exemplo achou fabios eles vem primeiro ai depois vem alexandre alberto não lista na ordem quero que fosse do jeito que expliquei acima entendue?? o codigo ta ai
Private Sub cmdPesquisar_Click()
dado = InputBox("Digite um nome a ser pesquisado!")
sSQL = "SELECT * FROM Estagiarios WHERE Nome LIKE '%" & dado & "%'"
rsSeleçao.Close
rsSeleçao.Open sSQL, conexao, adOpenKeyset, adLockReadOnly
If Not (rsSeleçao.BOF = True And rsSeleçao.EOF = True) Then
        txtNome.Text = rsSeleçao.Fields("Nome")
        cboInstituiçao.Text = rsSeleçao("Instituiçao")
        cboCurso.Text = rsSeleçao("Curso")
        txtPeriodo.Text = rsSeleçao("Periodo")
        cboTurno.Text = rsSeleçao("Turno")
        lblMASP.Caption = rsSeleçao("MASP")
        cboSetor.Text = rsSeleçao("Setor")
        txtMatricula.Text = rsSeleçao("Matricula")
        cboChefia.Text = rsSeleçao("Chefia")
        txtDataInicio.Text = rsSeleçao("DataInicio")
        txtDataTermino.Text = rsSeleçao("DataTermino")
        txtDtaSaida.Text = rsSeleçao("DataSaida")
        txtHorario.Text = rsSeleçao("Horario")
Else
    MsgBox "Nome não Cadastrado!", vbInformation + vbOKOnly, "Nome não Encontrado"
End If
Exit Sub
End Sub

abraço

t+

Link para o comentário
Compartilhar em outros sites

  • 0
Coloque um order by no seu select.

sSQL = "SELECT * FROM Estagiarios WHERE Nome LIKE '%" & dado & "%' order by nome"

deu certo raphael porem ta acontecendo o seguinte

ele so esta navegando pelos nomes digitado na pesquisa

queria por exemplo que mesmo depois desses nomes não teram mais continuasse a navegaçao como tinha explicado anteriromente ou seja, se acabos os fabios e ele clicar no prox vai para os nomes com g entendeu??

abraço

T+

Link para o comentário
Compartilhar em outros sites

  • 0
mas isso não pode ocorrer, pois você está filtrando os nomes, se não for para serem filtrados remove toda a sintaxe do Where, deixando:

Select * from TABELA order by nome

eu acho que é por causo do bof=true e eof=true não é não???

sera que não tem outra forma de achar e carregar os dados na tela ao modo que expliquei anteirormente possibilitando a navegaça mesmo apos acabar a pesquisa do nome digitado??

abraço

t+

Link para o comentário
Compartilhar em outros sites

  • 0

se tem eu não conheço, pois para carregar seu recordSet, você precisa de um select, caso você filtre pelo nome digitado, você terá apenas aqueles arquivos encontrados no select, caso não digite nada ou não use um filtro você terá todos os registros dentro do RecordSet, o EOF e BOF, é apenas para marcar o Final e o Inicio da pilha...

não vai influenciar na continuação do arquivo.

se você filtrar like 'CAS%'

ele vai filtrar e ordernar tudo que encontrar começando com CAS, porem ao acabar ele não irá pular para CAT, pois o RecordSet já foi carregado com aquela pesquisa.

Link para o comentário
Compartilhar em outros sites

  • 0
se tem eu não conheço, pois para carregar seu recordSet, você precisa de um select, caso você filtre pelo nome digitado, você terá apenas aqueles arquivos encontrados no select, caso não digite nada ou não use um filtro você terá todos os registros dentro do RecordSet, o EOF e BOF, é apenas para marcar o Final e o Inicio da pilha...

não vai influenciar na continuação do arquivo.

se você filtrar like 'CAS%'

ele vai filtrar e ordernar tudo que encontrar começando com CAS, porem ao acabar ele não irá pular para CAT, pois o RecordSet já foi carregado com aquela pesquisa.

qual sera o problema???

Link para o comentário
Compartilhar em outros sites

  • 0
não existe erro, basta prestar atenção na lógica, verifica melhor como você quer que funcione, pois do modo que você está pensando, não tem como, pelo menos que eu conheça não

a certo

então qual seria a melhor forma de trabalhar com este botap pesquisar raphael???

valews

abraço

t+

Link para o comentário
Compartilhar em outros sites

  • 0
pensando eu como botão "pesquisar", seria da forma que te passei...

se quero achar CAS, o valor CAT não é para ser exibido mesmo, pois não satisfaz minha busca. caso queira o CAT pesquisaria por este valor não pelo valor CAS

a certo

o meu form já afz isso acho que vou criar um form a paret so para pesquisa porque quando efetuo no form normal so tem como navegar pelos nomes encontrados entendeu

valews pelas dicas raphael

abraço

t+

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,9k
×
×
  • Criar Novo...